Jeg prøver at installere exuberant-ctags
-pakken på Linux Mint. For at gøre det løb jeg:
$ 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
Den sidste linje antyder, at ctags-exuberant
bruges i stedet for ctags
.
Når jeg dog genstarter bash og kører ctags -e
får jeg fejlen:
ctags: invalid option -- "e"
Mens indstillingen -e
er tilgængelig i exuberant-ctags
.
Hvorfor hasn “t exuberant-ctags
erstattet ctags
?
$ command -v ctags /usr/local/bin/ctags
Dette er ikke hvad jeg vil
$ 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
Kommentarer
Svar
Det er muligt, at din installation lige tilføjede exuberant-ctags
som en mulighed for alte rnativer.
/usr/bin/update-alternatives --display ctags
Hvis det peger på den forkerte version, kan du manuelt indstille alternativet
sudo /usr/bin/update-alternatives --set ctags /usr/bin/ctags-exuberant
I dit tilfælde har du dog (baseret på din spørgsmålopdatering) en ikke-pakket version af ctags
i din PATH (/usr/local/bin/ctags
) før den pakkede ctags-exuberant
og alternatives
version, så dette kaldes først.
Du skal enten have for at fjerne denne version skal du ændre din $PATH
eller tilføje et symlink til /usr/bin/ctags
tidligere på din sti (måske $HOME/bin
) så du kører den version, du vil køre.
Kommentarer
- Tak. Det peger dog på den rigtige version.
link currently points to /usr/bin/ctags-exuberant
. - Når jeg kører
/usr/bin/ctags-exuberant -e
fungerer det. Som et hurtigt hack kan jeg oprette et alias som sådan:alias ctags='/usr/bin/ctags-exuberant'
. Rediger: dette fungerer ikke, da emacs tilsyneladende bruger en anden skal. - Tak. Fjernelse af denne lokale ctags-version gjorde tricket. Mange tak for din hjælp! Glad for at have lært kommandoen
command
.
command -v ctags
ogls -l /usr/bin/ctags
ogls -l /etc/alternatives/ctags
ogctags --version