在某些情況下,npm會突然“抽筋”不能正常工作,比如我是在項目目錄下安裝webpack時沒有先init,之後無論用npm進行何種操作,都會出現如下錯誤
其中最重要的一句話是Cannot find module 'D:\nodejs\node_modules\npm\bin\npm-cli.js'
這個時候應該怎麼辦捏?我百度了很多解決方法,但無一成功。網上最成功的解決方案是重裝node(後續的操作也證明一般情況下重裝node確實是不錯的解決方案),但我不是特別想重裝node。
這個時候我突然想到我的電腦上安裝了gnvm,也就是node與npm的版本管理工具,我的第一篇博客就介紹了gnvm的使用,入口在這裏,我用gnvm npm latest
嘗試安裝最新的npm,結果提示
值得注意的是第一條Notice,它說我本機的npm版本未知,也就是說因爲之前的錯誤操作,原來的npm已經不能用了,繼續安裝最新版npm之後再執行npm -v發現可以輸出npm版本,說明可以使用npm了,通過npm config get prefix
可以發現當前版本的npm全局安裝路徑是我之前的設置
所以,解決問題的關鍵在於重裝npm,如果沒有類似於gnvm這種node/npm版本控件,直接重裝node是一個不錯的選擇(百度上也有單獨安裝npm的方法,但感覺不太合適)
ps:在安裝最新的npm時,命令行提示的最新版本貌似一直都是3.10.9,但繼續執行下去再測試npm版本會發現其實安裝的是最新版本。