2012-01-20 101 views
22

我一直在使用節點.4x和npm,並決定升級到.67。好傢伙。NPM升級後無法運行

我在Mac OSX - 新的它。

當我型NPM我得到

-bash: /usr/bin/npm: No such file or directory 

回聲$ PATH顯示了很多的東西...一些冗餘。

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/Users/me/.rvm/bin:/usr/local/bin:/usr/local/:/usr/local/bin:/usr/local/bin/npm:/usr/local/bin/:/usr/local:/usr/local/bin:/usr/local/ 

我已經嘗試了許多不同的設施,並有可能要清理它,我不知道該怎麼做:)

任何見解?

回答

57

如果npm不再安裝在/usr/bin/npm,然後有很好的機會bash(1)散列可執行文件的名稱。每次執行公共程序時,散列都會保存對您的PATH中所有目錄的重複搜索。由於程序幾乎不會改變目錄,所以這通常是一個好主意。

要測試,請運行hash -r。這將導致bash(1)忘記其所有映射。 (這是無害的 - 它在沒有映射的情況下啓動並隨着時間的推移而增長)。如果我是對的,那麼npm將在任何地方執行正確的可執行文件。

+0

不要刪除,即使這不會幫助這個用戶另一個來自谷歌或任何可以通過替代解決方案的幫助。我相信只有在技術上不正確且永遠無法工作的解決方案應該被刪除。 – Lepidosteus

+0

@lepidosteus:好吧,夠公平的。 :) 感謝您的反饋。 :) – sarnold

+0

當你運行散列-r時你會得到任何輸出嗎?我沒有得到任何,我的問題依然存在。 – Ingvi