Jeg prøver å installere exuberant-ctags
-pakken på Linux Mint. For å gjøre det løp 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 siste linjen antyder at ctags-exuberant
brukes i stedet for ctags
.
Når jeg derimot starter bash og kjører ctags -e
får jeg feilen:
ctags: invalid option -- "e"
Mens alternativet -e
er tilgjengelig i exuberant-ctags
.
Hvorfor hasn «t exuberant-ctags
erstattet ctags
?
$ command -v ctags /usr/local/bin/ctags
Dette er ikke hva 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 mulig at installasjonen din nettopp har lagt til exuberant-ctags
som et alternativ for alte rnativer.
/usr/bin/update-alternatives --display ctags
Hvis den peker på feil versjon, kan du manuelt stille inn alternativet
sudo /usr/bin/update-alternatives --set ctags /usr/bin/ctags-exuberant
I ditt tilfelle har du imidlertid (basert på spørsmålsoppdateringen) en ikke-pakket versjon av ctags
i PATH (/usr/local/bin/ctags
) før den pakkede ctags-exuberant
og alternatives
versjonen, så dette kalles først.
Du trenger enten for å fjerne den versjonen, endre $PATH
eller legg til en symlink til /usr/bin/ctags
tidligere i din vei (kanskje $HOME/bin
) slik at du kjører versjonen du vil kjøre.
Kommentarer
- Takk. Det peker på riktig versjon skjønt.
link currently points to /usr/bin/ctags-exuberant
. - Når jeg kjører
/usr/bin/ctags-exuberant -e
fungerer det. Som et raskt hack kan jeg opprette et alias slik:alias ctags='/usr/bin/ctags-exuberant'
. Rediger: dette fungerer ikke siden emacs tilsynelatende bruker et annet skall. - Takk. Å fjerne denne lokale ctags-versjonen gjorde susen. Tusen takk for hjelpen! Glad for å ha lært kommandoen
command
.
command -v ctags
ogls -l /usr/bin/ctags
ogls -l /etc/alternatives/ctags
ogctags --version