Ik probeer het exuberant-ctags -pakket op Linux Mint te installeren. Om dit te doen heb ik het volgende uitgevoerd:

$ 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 

De laatste regel suggereert dat ctags-exuberant wordt gebruikt in plaats van ctags.

Als ik echter bash opnieuw start en ctags -e start, krijg ik de foutmelding:

ctags: invalid option -- "e" 

Terwijl de -e optie beschikbaar is in exuberant-ctags.

Waarom hasn “t exuberant-ctags vervangen ctags?

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

Dit is niet wat ik wil

$ 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 

Reacties

  • Werk de vraag bij met de uitvoer van command -v ctags en ls -l /usr/bin/ctags en ls -l /etc/alternatives/ctags en ctags --version
  • @StephenHarris klaar.

Antwoord

Het is mogelijk dat uw installatie zojuist exuberant-ctags heeft toegevoegd als een optie voor alte rnatives.

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

Als het naar de verkeerde versie verwijst, kun je het alternatief handmatig instellen

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

In jouw geval (op basis van je vraagupdate) heb je echter een niet-verpakte versie van ctags in je PATH (/usr/local/bin/ctags) voor de verpakte ctags-exuberant en alternatives versie, dus deze wordt eerst aangeroepen.

Je moet ofwel om die versie te verwijderen, wijzigt u uw $PATH of voegt u een symlink toe aan /usr/bin/ctags eerder in uw pad (misschien $HOME/bin) zodat u “de versie gebruikt die u wilt gebruiken.

Reacties

  • Bedankt. Het verwijst echter naar de juiste versie. link currently points to /usr/bin/ctags-exuberant.
  • Wanneer ik /usr/bin/ctags-exuberant -e draai, werkt het wel. Als een snelle hack kan ik een alias maken zoals: alias ctags='/usr/bin/ctags-exuberant'. Bewerken: dit werkt niet omdat emacs blijkbaar een andere shell gebruikt.
  • Bedankt. Het verwijderen van deze lokale ctags-versie was voldoende. Heel erg bedankt voor je hulp! Blij dat ik het command commando heb geleerd.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *