LinuxMintにexuberant-ctagsパッケージをインストールしようとしています。そのために、次のコマンドを実行しました。

$ 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 

最後の行は、iv id =の代わりにctags-exuberantが使用されていることを示しています。 “2b7f62355f”>

ただし、bashを再起動してctags -eを実行すると、次のエラーが発生します。

ctags: invalid option -- "e" 

-eオプションはexuberant-ctagsで使用できます。

理由exuberant-ctagsctagsに置き換えられていませんか?

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

これは欲しいものではありません

$ 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 

コメント

  • command -v ctagsls -l /usr/bin/ctags

およびctags --version

  • @StephenHarris完了。
  • 回答

    インストールでalteのオプションとしてexuberant-ctagsが追加された可能性があります

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

    間違ったバージョンを指している場合は、手動で代替を設定できます

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

    ただし、(質問の更新に基づいて)あなたのケースでは、PATH(/usr/local/bin/ctagsctagsがあります。 div>)パッケージ化されたctags-exuberantおよびalternativesバージョンの前なので、これが最初に呼び出されます。

    どちらかが必要ですそのバージョンを削除するには、$PATHを変更するか、パスの前半にある/usr/bin/ctagsへのシンボリックリンクを追加します(おそらく$HOME/bin)「実行したいバージョンを実行しているようにします。

    コメント

    • ありがとうございます。しかし、それは正しいバージョンを指しています。 link currently points to /usr/bin/ctags-exuberant
    • /usr/bin/ctags-exuberant -eを実行すると、機能します。簡単なハックとして、alias ctags='/usr/bin/ctags-exuberant'のようなエイリアスを作成できます。編集:emacsは明らかに別のシェルを使用しているため、これは機能しません。
    • ありがとうございます。このローカルctagsバージョンを削除することでうまくいきました。手伝ってくれてありがとうございます! commandコマンドを学習できてうれしいです。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です