[英]npm hangs on any command
我安裝了最新版本的Node.js(12.2 x64 windows)以管理員身份運行cmd
並嘗試調用任何npm
命令( npm -v
除外),cmd窗口掛起。 在Ctrl + C之后它返回
Terminate batch job (Y/N)?
我試圖離開cmd幾個小時,但沒有給出一些結果。 這很奇怪,因為node.exe
進程很難消耗CPU和內存。
我試圖多次重新安裝node.js
但沒有成功。
我甚至無法獲得一些調試信息。
我通過rdp連接我在VM上遇到了這樣的問題。 在我的筆記本電腦上安裝的相同版本正常 在我的VM上我有卡巴斯基防病毒軟件,但在關閉它之后我得到了相同的結果。
有人面對這樣的問題嗎? 有沒有辦法獲得更多的信息問題? 能否請你推薦一些解決方法?
我終於解決了我的問題。 根據我們當地的閱讀文件的建議
Node.js(使用NPM)注意:在Windows服務器計算機上,而不是在用戶%APPDATA%路徑上安裝節點模塊,最好安裝在全局路徑上,例如c:\\ npm。 這可以通過npm命令實現:$ npm config set prefix'c:\\ npm'這在個別開發人員的機器上不是必需的。
我已經執行了npm config set prefix 'c:\\npm'
。
結果它在我的.npmrc文件中添加了prefix="'c:\\\\npm'"
這使得node.js真的很瘋狂。 我花了大約一個小時來調試所有這些js腳本npm.js
code.js
等...發現它用'c:\\\\npm'\\etc
調用mkdirp
並且它永遠循環進程。
如果將來有人會遇到這個問題你需要找到npmrc文件刪除它並刪除節點的所有配置,刪除節點並安裝它,這應該解決這個問題。 刪除節點時,某些配置不會被刪除,因此您必須手動刪除它。
它也適用於我:我在Windows 10上僅為我的用戶安裝了節點,並通過使用完整路徑"c:\\Program Files\\nodejs\\npm"
調用它來設法使用npm
我解決了使用"c:\\Program Files\\nodejs\\npm" config set prefix "c:\\Program Files\\nodejs"
(將前綴設置為npm的完整路徑)
結果是:
λ cat c:\Users\<my_user_name>\.npmrc
prefix=c:\Program Files\nodejs
現在eveything工作正常。
如果未正確設置前綴。
只想指出那些評論 - 如果你無法訪問命令行npm,那么顯然你無法運行npm config
。
打開notepad $HOME/.npmrc
並鍵入notepad $HOME/.npmrc
,並編輯其中的prefix=...
的行,並將其更改為有效的行。
為清楚起見,當您致電時:
npm config set prefix 'c:\npm'
你需要有'包裝路徑,但你需要從.npmrc文件中刪除它們,以便npm命令可以工作。 因此,.npmrc文件中的結果行應如下所示:
prefix="c:\\npm"
只需刪除User /%UserProfile%上的.nprmc文件,現在嘗試命令,如果它甚至重新安裝一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.