1. 程式人生 > >windows下node配置npm全局路徑(踩坑)

windows下node配置npm全局路徑(踩坑)

系統變量 conf path class efi fig 建議 相關 沒有

事情的起因是:Koa要求v7.6.0以上的nodejs。

但是window環境下升級node不容易,試過npm install -g n 和n stable等命令無效,而網上推薦的nvm並不支持windows,而nvm for windows 又要求先刪除node及相關配置,而且這個用於支持windows的nvm是不完善的。處於規避風險的考慮索性決定刪除並重裝nodejs。

問題來了,在某網友的教程中,提到修改npm安裝的全局路徑:

npm config set prefix"D:\Develop\nodejs\node_global"
npm config set cache "D:\Develop\nodejs\node_cache"

右鍵我的電腦,屬性,高級系統設置,高級/環境變量,在 系統變量 新建NODE_PATH,輸入D:\Develop\nodejs\node_global\node_modules,

在 用戶變量 將Path 修改為 D:\Develop\nodejs\node_global

但我試了下後,發現npm一直報錯,說訪問安裝在C盤的nodejs的node_global;失敗幾次嘗試後將路徑修改回appdata,但還是報同樣的錯誤。

幾次卸載nodejs,刪除npm相關文件夾還是如此。

解決方案

最後發現必須用管理員權限的cmd執行npm操作才有效,因在C盤的Program Files,使用git bash沒有權限將文件寫入,故而失敗。

我的nodejs是默認安裝在C盤的Program Files中,聽從網友建議將全局路徑設在nodejs的安裝路徑下,而剛好Program Files需要權限讀寫操作。

正確的方式是將全局路徑設定在不需要管理員權限的地方。

所以我再一次重裝了nodejs,並用管理員權限的cmd將全局路徑設在安裝目錄下。問題得到解決。

windows下node配置npm全局路徑(踩坑)