Pokouším se nainstalovat balíček exuberant-ctags
na Linux Mint. Spustil jsem:
$ sudo apt-get install exuberant-ctags Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: exuberant-ctags 0 upgraded, 1 newly installed, 0 to remove and 81 not upgraded. Need to get 0 B/120 kB of archives. After this operation, 334 kB of additional disk space will be used. Selecting previously unselected package exuberant-ctags. (Reading database ... 339129 files and directories currently installed.) Preparing to unpack .../exuberant-ctags_1%3a5.9~svn20110310-7ubuntu0.1_amd64.deb ... Unpacking exuberant-ctags (1:5.9~svn20110310-7ubuntu0.1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up exuberant-ctags (1:5.9~svn20110310-7ubuntu0.1) ... update-alternatives: using /usr/bin/ctags-exuberant to provide /usr/bin/ctags (ctags) in auto mode
Poslední řádek naznačuje, že místo iv id = je použit ctags-exuberant
. „2b7f62355f“>
.
Když však restartuji bash a spustím ctags -e
zobrazí se chyba:
ctags: invalid option -- "e"
Zatímco možnost -e
je k dispozici v exuberant-ctags
.
Proč hasn „t exuberant-ctags
nahrazen ctags
?
$ command -v ctags /usr/local/bin/ctags
Toto je ne to, co chci
$ ls -l /usr/bin/ctags lrwxrwxrwx 1 root root 23 Dec 28 2015 /usr/bin/ctags -> /etc/alternatives/ctags
$ ls -l /etc/alternatives/ctags lrwxrwxrwx 1 root root 24 Aug 9 21:22 /etc/alternatives/ctags -> /usr/bin/ctags-exuberant
$ ctags --version ctags (GNU Emacs 24.5) Copyright (C) 2015 Free Software Foundation, Inc. This program is distributed under the terms in ETAGS.README
Komentáře
Odpověď
Je možné, že vaše instalace právě přidala exuberant-ctags
jako alternativu pro alte rnatives.
/usr/bin/update-alternatives --display ctags
Pokud ukazuje na nesprávnou verzi, můžete ručně nastavit alternativu
sudo /usr/bin/update-alternatives --set ctags /usr/bin/ctags-exuberant
Ve vašem případě však (na základě aktualizace vaší otázky) máte ve své PATH nebalenou verzi ctags
(/usr/local/bin/ctags
) před zabalenou ctags-exuberant
a alternatives
verzí, takže se volá jako první.
Buď potřebujete Chcete-li tuto verzi odebrat, upravte $PATH
nebo přidejte symbolický odkaz na /usr/bin/ctags
dříve ve vaší cestě (možná $HOME/bin
), takže znovu spouštíte verzi, kterou chcete spustit.
Komentáře
- Díky. Ukazuje to na správnou verzi.
link currently points to /usr/bin/ctags-exuberant
. - Když spustím
/usr/bin/ctags-exuberant -e
, funguje to. Jako rychlý hack můžu vytvořit alias, jako je tento:alias ctags='/usr/bin/ctags-exuberant'
. Upravit: to nefunguje, protože emacs zjevně používá jiný shell. - Díky. Odstranění této místní verze ctags udělalo trik. Moc děkuji za Vaši pomoc! Jsem rád, že jsem se naučil příkaz
command
.
command -v ctags
als -l /usr/bin/ctags
als -l /etc/alternatives/ctags
actags --version