Ik probeer het exuberant-ctags
-pakket op Linux Mint te installeren. Om dit te doen heb ik het volgende uitgevoerd:
$ 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
De laatste regel suggereert dat ctags-exuberant
wordt gebruikt in plaats van ctags
.
Als ik echter bash opnieuw start en ctags -e
start, krijg ik de foutmelding:
ctags: invalid option -- "e"
Terwijl de -e
optie beschikbaar is in exuberant-ctags
.
Waarom hasn “t exuberant-ctags
vervangen ctags
?
$ command -v ctags /usr/local/bin/ctags
Dit is niet wat ik wil
$ 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
Reacties
Antwoord
Het is mogelijk dat uw installatie zojuist exuberant-ctags
heeft toegevoegd als een optie voor alte rnatives.
/usr/bin/update-alternatives --display ctags
Als het naar de verkeerde versie verwijst, kun je het alternatief handmatig instellen
sudo /usr/bin/update-alternatives --set ctags /usr/bin/ctags-exuberant
In jouw geval (op basis van je vraagupdate) heb je echter een niet-verpakte versie van ctags
in je PATH (/usr/local/bin/ctags
) voor de verpakte ctags-exuberant
en alternatives
versie, dus deze wordt eerst aangeroepen.
Je moet ofwel om die versie te verwijderen, wijzigt u uw $PATH
of voegt u een symlink toe aan /usr/bin/ctags
eerder in uw pad (misschien $HOME/bin
) zodat u “de versie gebruikt die u wilt gebruiken.
Reacties
- Bedankt. Het verwijst echter naar de juiste versie.
link currently points to /usr/bin/ctags-exuberant
. - Wanneer ik
/usr/bin/ctags-exuberant -e
draai, werkt het wel. Als een snelle hack kan ik een alias maken zoals:alias ctags='/usr/bin/ctags-exuberant'
. Bewerken: dit werkt niet omdat emacs blijkbaar een andere shell gebruikt. - Bedankt. Het verwijderen van deze lokale ctags-versie was voldoende. Heel erg bedankt voor je hulp! Blij dat ik het
command
commando heb geleerd.
command -v ctags
enls -l /usr/bin/ctags
enls -l /etc/alternatives/ctags
enctags --version