Sto cercando di installare il pacchetto exuberant-ctags
su Linux Mint. Per farlo ho eseguito:
$ 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
Lultima riga suggerisce che ctags-exuberant
viene utilizzato al posto di ctags
.
Tuttavia, quando riavvio bash ed eseguo ctags -e
ricevo lerrore:
ctags: invalid option -- "e"
Mentre lopzione -e
è disponibile in exuberant-ctags
.
Perché non ha “t exuberant-ctags
sostituito ctags
?
$ command -v ctags /usr/local/bin/ctags
Questo è non è quello che voglio
$ 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
Commenti
Risposta
È possibile che la tua installazione abbia appena aggiunto exuberant-ctags
come opzione per alte rnatives.
/usr/bin/update-alternatives --display ctags
Se punta alla versione sbagliata, puoi impostare manualmente lalternativa
sudo /usr/bin/update-alternatives --set ctags /usr/bin/ctags-exuberant
Nel tuo caso, tuttavia (in base allaggiornamento della tua domanda) hai una versione non confezionata di ctags
nel tuo PERCORSO (/usr/local/bin/ctags
) prima della versione pacchettizzata ctags-exuberant
e alternatives
, quindi questa viene chiamata per prima.
per rimuovere quella versione, modifica il tuo $PATH
o aggiungi un collegamento simbolico a /usr/bin/ctags
allinizio del percorso (forse $HOME/bin
) in modo da “eseguire la versione che si desidera eseguire.
Commenti
- Grazie. Tuttavia punta alla versione corretta.
link currently points to /usr/bin/ctags-exuberant
. - Quando eseguo
/usr/bin/ctags-exuberant -e
funziona. Come trucco rapido posso creare un alias in questo modo:alias ctags='/usr/bin/ctags-exuberant'
. Modifica: questo non funziona poiché emacs apparentemente usa unaltra shell. - Grazie. La rimozione di questa versione di ctags locale ha funzionato. Grazie mille per il tuo aiuto! Sono contento di aver imparato il comando
command
.
command -v ctags
els -l /usr/bin/ctags
els -l /etc/alternatives/ctags
ectags --version