Jessaye dinstaller le paquet exuberant-ctags sur Linux Mint. Pour ce faire, jai couru:

$ 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 

La dernière ligne suggère que ctags-exuberant est utilisé au lieu de ctags.

Cependant, lorsque je redémarre bash et lance ctags -e, jobtiens lerreur:

ctags: invalid option -- "e" 

Alors que loption -e est disponible dans exuberant-ctags.

Pourquoi hasn « t exuberant-ctags remplacé ctags?

$ command -v ctags /usr/local/bin/ctags 

Cest pas ce que je veux

$ 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 

Commentaires

  • Veuillez mettre à jour la question avec la sortie de command -v ctags et ls -l /usr/bin/ctags et ls -l /etc/alternatives/ctags et ctags --version
  • @StephenHarris done.

Réponse

Il est possible que votre installation ait simplement ajouté exuberant-ctags comme option pour alte rnatives.

/usr/bin/update-alternatives --display ctags 

Sil pointe vers la mauvaise version, vous pouvez définir manuellement lalternative

sudo /usr/bin/update-alternatives --set ctags /usr/bin/ctags-exuberant 

Dans votre cas, cependant (en fonction de la mise à jour de votre question), vous avez une version non packagée de ctags dans votre PATH (/usr/local/bin/ctags) avant la version packagée ctags-exuberant et alternatives, donc elle est appelée en premier.

Vous avez besoin soit pour supprimer cette version, modifiez votre $PATH ou ajoutez un lien symbolique vers /usr/bin/ctags plus tôt dans votre chemin (peut-être $HOME/bin) afin que vous « exécutiez la version que vous souhaitez exécuter.

Commentaires

  • Merci. Il indique cependant la bonne version. link currently points to /usr/bin/ctags-exuberant.
  • Quand je lance /usr/bin/ctags-exuberant -e cela fonctionne. Comme un hack rapide, je peux créer un alias comme ceci: alias ctags='/usr/bin/ctags-exuberant'. Edit: cela ne fonctionne pas car emacs utilise apparemment un autre shell.
  • Merci. La suppression de cette version locale de ctags a fait laffaire. Merci beaucoup pour votre aide! Heureux davoir appris la commande command.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *