從git上clone同一個項目,在不同的設備上install總是會出現(xiàn)各種各樣奇奇怪怪的錯誤。特別是mac設備,今天在把一個項目安裝依賴的時候出現(xiàn)了一些問題,報了包括權限在內的好幾種錯誤,試了刪除module重新install、sudo安裝單獨安裝某個依賴都沒用,報錯長下面這樣。
Tag:
1??node-pre-gyp WARN Using needle for node-pre-gyp https download
2??node-pre-gyp WARN Pre-built binaries not installable for fsevents@1.2.7 and node@11.10.1 (node-v67 ABI, unknown) (falling back to source compile with node-gyp)
3??gyp ERR! configure error
各種百度試遍方法,終于找到了正解。
解決方案:
sudo npm install --unsafe-perm
又百度了下--unsafe-perm這個參數(shù)代表啥意思,思否上有篇文章解釋如下:
就是說 npm 出于安全考慮不支持以 root 用戶運行,即使你用 root 用戶身份運行了,npm 會自動轉成一個叫 nobody 的用戶來運行,而這個用戶幾乎沒有任何權限。這樣的話如果你腳本里有一些需要權限的操作,比如寫文件(尤其是寫 /root/.node-gyp),就會崩掉了。
為了避免這種情況,要么按照 npm 的規(guī)矩來,專門建一個用于運行 npm 的高權限用戶;要么加 --unsafe-perm 參數(shù),這樣就不會切換到 nobody 上,運行時是哪個用戶就是哪個用戶,即使是 root。
參考文章:
解釋--unsafe-permhttps://segmentfault.com/q/1010000019365121/
node-pre-gyp && gyp ERR! && build error 解決方法http://www.itdecent.cn/p/a2a2ddeb174c