欲しい新しいプロジェクト管理働くその過程で2つのバージョンをインストールしたようです。 1 つは ~/bin にインストールされた破損したバージョンで、もう 1 つはコンパイルして実行しmake install
ます/usr/local/bin/npm
。
だから私は ~/bin フォルダ全体を ~/old/bin に移動しました。しかし、npm
〜/ binでシステム検索を実行すると、次のようになります。
$ which npm
/usr/local/bin/npm
$ alias npm
-bash: alias: npm: not found
$ npm
-bash: /home/ubuntu/bin/npm: No such file or directory
$ echo $PATH
/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
$
Ubuntuがnpmを探しているのはなぜですか~/bin/npm
? Ubuntu 11.10を使用しています。この問題がUbuntuに固有のものかどうかはわかりません。必要に応じてaskubuntuに移動できます。
PATHで〜/ binを見ることができますが、私が知っている限り、それはnpmが〜/ binに存在する場合にのみそれを使用することを意味します...しかし、bashはなぜそこで具体的に見ているのに固執しますか?/usr/local/bin/npm
コマンドはこれを見つけましたが、なぜ見つかりませんかwhich
?
答え1
既知の実行可能ファイルの場所がシェルによってハッシュされている可能性があります。シェルキャッシュをリセットするとhash -r
問題が解決します。
キャッシュ全体をリセットしたくない場合は、使用されている個々のnpm
エントリを削除できますhash -d npm
。