2015-09-10 40 views
1

在Windows 7 Enterprise上運行nodejs。無法在任何程序包上運行「npm install -g」(AppData/Roaming/npm始終爲空)

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

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

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

任何想法?

回答

1

實測溶液:

(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條目。

+0

花費時間尋找可行的解決方案。謝謝! –

+0

我也在這個上浪費了幾個小時。 Pppppppppppppp。軟件開發,好嗎? – ngDeveloper

+0

要導出路徑,您還可以編輯系統環境變量; path =%appdata%/ npm; –

相關問題