Можно ли установить ctags без привилегий root?

9535
mcgyver5

У меня есть пользовательский доступ к экземпляру Ubuntu, и я хотел бы использовать CTags. Ошибка говорит:

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 

Это и все инструкции онлайн указывают на то, что мне нужно быть пользователем root. Есть ли способ установить его как пользователь?

6

6 ответов на вопрос

15

Да.

Вам нужно будет скомпилировать его самостоятельно и установить в своем домашнем каталоге.

Загрузите источник ctags: http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz

В часовой оболочке:

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

Это скомпилирует и установит ctags в вашем домашнем каталоге. Полученный двоичный файл будет иметь вид: $ HOME / bin / ctags

Теперь вам нужно изменить переменную среды PATH перед запуском vim.

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

поместите эту строку в ваш .bashrc

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

Теперь вам необходимо создать ресурс для вашего .bashrc (помните, что .bashrc обычно загружается только из неинтерактивных оболочек. Убедитесь, что вы используете .bashrc из .bash_profile)

Если вам нужно, измените ваш .bash_profile и убедитесь, что он имеет такую ​​строку:

. $HOME/.bashrc 

или же

source $HOME/.bashrc 

Чтобы продолжить без закрытия оболочки, просто введите:

$ . $HOME/.bashrc 

Теперь вы можете запустить vim, и ctags будет работать.

Нет, смысл Ubuntu и Debian в том, что у вас есть более 20 000 разумно собранных и настроенных пакетов. 14 лет назад 0
Да, иногда у вас нет разрешения на запуск apt-get install, например, когда у вас есть учетная запись у хостинг-провайдера, где вы делите машину со многими другими пользователями. Я иногда нахожу, что мне нужно установить архив с исходным кодом таким образом, и эти инструкции являются твердыми. Harold L 14 лет назад 3
debian packages are wonderful and all, but any unix user should know how to install packages from source into a local directory. It's useful for testing packages before installing globally, compiling a personal version that's different from the local version (I always compile a custom mutt for myself), and it works on every unix-like operating system. 14 лет назад 0
Для меня это выглядит так: `.bash_profile` уже загружается даже при входе в систему через терминал (настройка администратором была когда-то). Таким образом, добавление этой строки сделало круговую ссылку и заперло bash! Используя `scp`, я избавился от` .bash_profile` и исправил его. Ваш пост полезен в целом. Просто хотел указать на возможную проблему с указанием на bashrc из bash_profile. phyatt 9 лет назад 0
Не берите в голову. У меня была другая часть моего bashrc, которая чувствительна к двойной загрузке. Не связано с вашим ответом. Извините за дезинформацию с моей стороны. phyatt 9 лет назад 0
6

Вам не нужно ничего компилировать. Ctags - это всего лишь одна двоичная программа, поэтому вы можете скачать соответствующий пакет, распаковать его и поместить двоичный файл на свой путь. Как это:

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 
+1 хорошая идея. Может не всегда работать для программного обеспечения, которое имеет множество зависимостей (тогда компиляция из исходного кода будет проще), но если это работает, это проще, чем компиляция. sleske 14 лет назад 0
1
Paul McMillan

Вы должны быть в состоянии сделать это самостоятельно, если вы скомпилируете и установите свою собственную копию редактора. Вы не сможете установить общесистемный пакет, подобный тому, который он запрашивает, не будучи пользователем root.

1
Dirk Eddelbuettel

Если вы тот, кто установил этот компьютер с Ubuntu, то вы пользователь с uid 1000, что означает, что вы можете запускать команды, требующие с rootпомощью sudoкоманды, например

sudo app-get install exuberant-ctags 

Возможно, вам придется предшествовать этому с

sudo apt-get update 

чтобы получить свежую информацию о пакете.

Вы не можете прочитать вопрос. Он сказал, что у него нет корневого доступа. Paul McMillan 14 лет назад 0
1
Joshua D. Boyd

Конечно, просто установите его в свой домашний каталог из источника.

Перейдите на http://ctags.sourceforge.net/ и загрузите последнюю версию. Разверните его, откройте терминал и перейдите в каталог, в котором вы его развернули, затем сделайте следующее:

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

Теперь, отредактируйте ваш PATH с помощью этого (предполагая bash, который, вероятно, используется вами, если вы не знаете, как сделать это без посторонней помощи):

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

Вы можете добавить эту последнюю строку в ваш файл .bashrc или .bash_profile.

Чем pwd ~ отличается от просто pwd? Почему бы не просто $ HOME? Harold L 14 лет назад 0
0
dimba

Вы всегда можете установить его локально, скажем, в своем домашнем каталоге. После этого добавьте каталог, в котором находится ctags, в переменную окружения PATH yout shell.