É possível instalar ctags sem root privs?

6

Eu tenho acesso de usuário a uma instância do Ubuntu e gostaria de usar CTags. O erro diz:

The program 'ctags' can be found in the following packages:
 * exuberant-ctags
 * emacs22-bin-common
 * emacs21-bin-common
 * elvis-tools
 * emacs-snapshot-bin-common
Ask your administrator to install one of them
-bash: ctags: command not found

Esta e todas as instruções on-line indicam que eu preciso ser root. Existe uma maneira de instalá-lo como usuário?

    
por mcgyver5 05.11.2009 / 21:19

6 respostas

15

Sim.

Você precisará compilá-lo e instalá-lo em seu diretório pessoal.

Faça o download da fonte ctags: link

Na hora shell:

$ tar zxf ctags-5.8.tar.gz
$ cd ctags-5.8
$ ./configure --prefix=$HOME
$ make && make install

Isto irá compilar e instalar as ctags no seu diretório pessoal. O binário resultante será: $ HOME / bin / ctags

Agora você terá que modificar sua variável de ambiente PATH antes de iniciar o vim.

$ vim $HOME/.bashrc (or whichever shell you're using)

coloque esta linha no seu .bashrc

export PATH="$HOME/bin:$PATH"

Agora você precisará recorrer ao seu .bashrc (lembre-se de que .bashrc é normalmente carregado apenas de shells não interativos. Certifique-se de ter o .bashrc de .bash_profile)

Se precisar, modifique seu .bash_profile e verifique se ele tem uma linha como:

. $HOME/.bashrc

ou

source $HOME/.bashrc

Para continuar sem fechar seu shell, basta digitar:

$ . $HOME/.bashrc

Agora você pode iniciar o vim e as ctags estarão funcionando.

    
por 05.11.2009 / 21:30
6

Você não precisa compilar nada. Ctags é apenas um programa binário simples, então você pode baixar o pacote apropriado, descompactá-lo e colocar o binário em seu caminho. Assim:

cd
mkdir tmp
cd tmp 
wget http://mirrors.kernel.org/ubuntu/pool/main/e/exuberant-ctags/exuberant-ctags_5.5.4-1_i386.deb
dpkg -x exuberant-ctags_5.5.4-1_i386.deb .
mkdir ~/bin
cp usr/bin/ctags-exuberant ~/bin
cd ~/bin
ln -sf ctags-exuberant ctags
export PATH=$PATH:$HOME/bin
    
por 05.11.2009 / 22:56
1

Você deve conseguir fazer isso sozinho se compilar e instalar sua própria cópia do editor. Você não será capaz de instalar um pacote para todo o sistema como os que ele está pedindo, sem ser root.

    
por 05.11.2009 / 21:25
1

Se você é quem instalou esta máquina Ubuntu, então você é o usuário com o uid 1000, o que significa que você pode executar comandos que exigem root por meio do comando sudo , por exemplo

sudo app-get install exuberant-ctags

Pode ser necessário preceder isso com

sudo apt-get update

para obter informações atualizadas sobre o pacote.

    
por 05.11.2009 / 21:32
1

Certamente, basta instalá-lo em seu diretório pessoal a partir da origem.

Acesse o link e faça o download da versão mais recente. Expanda-o, abra um terminal e vá para o diretório onde você o expandiu, então faça isso:

./configure --prefix='( cd ~ ; pwd ~ )'
make all
make install

Agora, edite seu PATH com isto (assumindo o bash, que é provavelmente o que você está usando se você não sabe como fazer isto sem ajuda):

export PATH=$PATH:'( cd ~ ; pwd ~ )'/bin

Você pode adicionar essa última linha ao seu arquivo .bashrc ou .bash_profile.

    
por 05.11.2009 / 21:36
0

Você sempre pode instalá-lo localmente, digamos, em seu diretório pessoal. Depois disso, adicione o diretório em que ctags reside na variável de ambiente PATH do shell.

    
por 05.11.2009 / 21:26