そこで、Ubuntu10.04にMercurialをインストールしようとしました。最初にppaリポジトリを使用しましたが、 pythonpath エラーが発生し、あきらめました。次の試みはソースからのインストールでしたが、hgが見つからないことを除いて、すべてうまくいきました。
$ hg
-bash: /usr/bin/hg: No such file or directory
ただし、hgは/ usr/local/bin /にインストールされます。
$ which hg
/usr/local/bin/hg
PATHにはこのディレクトリが含まれているのに、なぜhgが見つからないのですか?
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
フルパスでhgを実行すると、次のように機能します。
$ /usr/local/bin/hg --version
どんな助けでも本当にありがたいです!
Bashは、実行可能ファイルの場所のキャッシュを$PATH
に保持します。ある時点で/usr/bin
にhg
があり、そのシェルから実行しました。これで、/usr/bin/hg
が削除されました。この場所を忘れるように実行中のシェルに指示する必要があります。
hash hg
キャッシュはシェルインスタンス間で共有されないため、新しいシェルではこの問題は発生しません。