簡體   English   中英

無法讓“npm install -g”在任何包上工作(AppData/Roaming/npm 總是空的)

[英]Cannot get "npm install -g" to work on any packages (AppData/Roaming/npm always empty)

在 Windows 上運行 nodejs 7 企業在工作。

每當我安裝需要 -g 訪問權限的 node_module 時,根據經驗我知道它應該在%AppData$/Roaming/npm中創建一個 *.bat 文件,但由於某種原因它不再這樣做。

例如,我將運行npm install gulp -g ,控制台看起來安裝正確,但文件不會在 AppData 文件夾中。 如果我嘗試運行 gulp 命令,我會收到錯誤sh.exe": gulp: command not found

如果我以管理員身份在控制台中運行npm install gulp -g命令,它會將文件安裝到管理員(而不是普通用戶)的 %AppData% 文件夾中。 因此,如果我通過我的非管理員用戶運行 gulp 命令,我仍然會收到錯誤sh.exe": gulp: command not found

有任何想法嗎?

找到解決方案

(1)運行命令時: npm config get prefix ,輸出為C:\\Program Files (x86)\\Git\\local 不知道為什么會這樣設置,因為它不是默認值。

但是我使用以下命令更改了它: npm config set prefix "$APPDATA\\npm"

現在我安裝了一個--g模塊,即。 npm install gulp -g ,它安裝到這個理想的目錄中,不再拋出EPERMENOENT錯誤。

(2)仍然需要為npm文件夾添加PATH條目。 命令export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm暫時有效,但如果您關閉控制台並再次打開它,則可能無法保存(如果您不是管理員)。

但你也可以使用echo 'export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm' >> ~/.bash_profile ,這將創建一個.bash_profile文件,每次運行時都會運行控制台已打開。 所以從這一點來說,它應該自動添加所需的PATH條目。

我也遇到了同樣的問題。

安裝 node.js 后( https://nodejs.org/en/download/npm文件夾(在appdata文件夾中)保持為空。

所以,在這個階段,如果你嘗試構建/運行 angular 項目(ng build/ng serve),它會給出如下錯誤:

The term 'ng' is not recognized as the name of a cmdlet, function, script file, or operable program. 

因此,要解決此問題,請使用以下命令在您的項目中全局安裝 angular:

npm install -g @angular/cli

現在,npm 文件夾(節點模塊等)中將有數據並且 ng 命令現在將運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM