6

У меня есть приложение (Exuberant Ctags), установленное в /usr /bin.

Я также скомпилировал Emacs из исходного кода, который устанавливает свою собственную версию ctags в /usr /local /bin.

Запуск ctags из командной строки запускает версию Emacs из /usr/local/bin.

Есть ли способ заставить его использовать приложение из /usr/bin?

Я могу зайти в /usr /local /bin и удалить или переименовать нежелательную версию ctags, но мне интересно, есть ли другой способ.

2 ответа2

10

Отредактируйте ваш путь, поэтому /usr /bin появится перед /usr /local /bin. Вы узнаете свой текущий путь с помощью echo $PATH . Чтобы изменить это зависит от вашей системы, обычно ~/.bashrc . Здесь и на ServerFault есть вопросы, касающиеся того, где найти переменные среды и какие использовать, ~/.bashrc или ~/.bash_profile :-)

Если у вас есть программное обеспечение, установленное в /usr/local/bin/ которое "переопределяет" то, что система поместила в /usr/bin , вы можете создать псевдоним, чтобы указать, какой исполняемый файл следует запускать для каждой программы. Например, с помощью этой программы ctags, поместите это в ваш ~/.bashrc .

alias ctags="/usr/bin/ctags"

(хотя одна из ссылок SF касалась именно Cygwin, она применима и на других платформах)

0

Если вам не нужна установка ctags в /usr/local , просто удалите ее. (Это наилучший из возможных способов, потому что это избавит вас от необходимости обходить проблему, которая у вас возникла сейчас, когда-либо снова.)

Или запретите Emacs устанавливать его в первую очередь и / или заставьте его проверить существующий перед установкой (как это сделать, зависит от того, как вы его устанавливаете).

Наконец, вы можете указать Emacs путь к ctags согласно EmacsWiki: Build Tags, поместив

 (setq path-to-ctags "<path_to_ctags_executable>")

в ваш файл инициализации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .