
私は取得しようとしていますネプ動作しません。その過程で、2 つのバージョンがインストールされているようです。破損したバージョンは ~/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
。