Estoy intentando instalar el paquete exuberant-ctags en Linux Mint. Para hacerlo, ejecuté:

$ 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 última línea sugiere que se usa ctags-exuberant en lugar de ctags.

Sin embargo, cuando reinicio bash y ejecuto ctags -e aparece el error:

ctags: invalid option -- "e" 

Mientras que la opción -e está disponible en exuberant-ctags.

Por qué hasn «t exuberant-ctags reemplazado ctags?

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

Esto es no es lo que quiero

$ 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 

Comentarios

  • Actualice la pregunta con el resultado de command -v ctags y ls -l /usr/bin/ctags y ls -l /etc/alternatives/ctags y ctags --version
  • @StephenHarris hecho.

Responder

Es posible que su instalación haya agregado exuberant-ctags como una opción para alterar rnatives.

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

Si apunta a la versión incorrecta, puede configurar manualmente la alternativa

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

En su caso, sin embargo (según la actualización de su pregunta), tiene una versión no empaquetada de ctags en su PATH (/usr/local/bin/ctags) antes de la versión empaquetada ctags-exuberant y alternatives, por lo que esto se llama primero.

O necesita para eliminar esa versión, modifique su $PATH o agregue un enlace simbólico a /usr/bin/ctags anteriormente en su ruta (tal vez $HOME/bin) para que esté ejecutando la versión que desea ejecutar.

Comentarios

  • Gracias. Sin embargo, apunta a la versión correcta. link currently points to /usr/bin/ctags-exuberant.
  • Cuando ejecuto /usr/bin/ctags-exuberant -e, funciona. Como truco rápido, puedo crear un alias como este: alias ctags='/usr/bin/ctags-exuberant'. Editar: esto no funciona ya que emacs aparentemente usa otro shell.
  • Gracias. La eliminación de esta versión local de ctags funcionó. ¡Muchas gracias por su ayuda! Me alegro de haber aprendido el comando command.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *