Mac(版本10.15 (19A583))執行npm install xxxx報錯gyp類錯誤解決方法

最近新裝了MacOS的最新版10.15,重新安裝開發環境,nodejs安裝的是最新的,再用npm 安裝包時總會報 gyp ERR! 錯

gyp ERR! configure error 

gyp ERR! stack Error: EACCES: permission denied, mkdir 

解決方法,在命令後加上--unsafe-perm

例如

sudo npm install vue --unsafe-perm

該命令的相關官方文檔地址:https://docs.npmjs.com/misc/config#unsafe-perm

 npm 出於安全考慮不支持以 root 用戶運行,即使你用 root 用戶身份運行了,npm 會自動轉成一個叫 nobody 的用戶來運行,而這個用戶幾乎沒有任何權限。這樣的話如果你腳本里有一些需要權限的操作,比如寫文件(尤其是寫 /root/.node-gyp),就會崩掉了。

爲了避免這種情況,要麼按照 npm 的規矩來,專門建一個用於運行 npm 的高權限用戶;要麼加 --unsafe-perm 參數,這樣就不會切換到 nobody 上,運行時是哪個用戶就是哪個用戶,即使是 root。

參考來源:

https://docs.npmjs.com/misc/config#unsafe-perm

https://www.jianshu.com/p/ef1e66e703dc

https://segmentfault.com/q/1010000019365121/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章