Чи можна встановити ctags без root privs?


7

У мене є доступ користувача до екземпляра 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

Ця та всі вказівки в Інтернеті вказують на те, що мені потрібно мати корінь. Чи є спосіб встановити його як користувача?

Відповіді:


16

Так.

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

Завантажити джерело каталогів: 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 розроблених та налаштованих пакетів.

4
Так, іноді у вас немає дозволу на запуск apt-get install, як, наприклад, у вас є обліковий запис у хостинг-провайдера, де ви обмінюєтесь машиною з багатьма іншими користувачами. Мені здається, мені іноді потрібно встановити вихідний тарбол таким чином, і ці вказівки є суцільними.
Гарольд L

пакунки debian чудові і всі, але будь-який користувач Unix повинен знати, як встановити пакунки з джерела в локальний каталог. Це корисно для тестування пакетів перед глобальною установкою, компіляції особистої версії, яка відрізняється від локальної версії (я завжди компілюю власну мутту для себе), і вона працює в будь-якій операційній системі, схожій на unix.

Для мене це схоже на те, що .bash_profileвже завантажується навіть із лише термінальним входом (налаштування адміністратором десь тому). Тож додавши цей рядок, було зроблено кругле посилання, і зафіксували баш! Використовуючи scp, я позбувся .bash_profileі виправив. Ваша публікація корисна загалом. Просто хотілося вказати на можливу проблему із вказівкою на bashrc з bash_profile.
фіат

Не звертай уваги. У мене була ще одна порція мого bashrc, яка була чутливою до завантаження два рази. Не стосується вашої відповіді. Вибачте за дезінформацію з мого боку.
фіат

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

1

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


1

Якщо ви встановили цю машину Ubuntu, ви є користувачем з uid 1000, що означає, що ви можете запускати команди, що вимагають rootза допомогою sudoкоманди, наприклад

sudo app-get install exuberant-ctags

Можливо, вам знадобиться передувати цьому

sudo apt-get update

щоб отримати свіжу інформацію про упаковку.


Ви не можете прочитати питання. Він сказав, що не має кореневого доступу.
Пол Макміллан

1

Звичайно, просто встановіть його в домашній каталог з джерела.

Перейдіть на сторінку 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? Чому б не просто $ ДОМАШНЯ?
Гарольд L

0

Ви завжди можете встановити його локально, скажімо, у своєму домашньому каталозі. Після цього додайте каталог, де ctags знаходиться до змінної середовища ви PATH оболонки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.