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

  • Aktualizujte prosím otázku o výstup command -v ctags a ls -l /usr/bin/ctags a ls -l /etc/alternatives/ctags a ctags --version
  • @StephenHarris hotovo.

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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *