[英]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
,它安裝到這個理想的目錄中,不再拋出EPERM
和ENOENT
錯誤。
(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.