在mac OS或liunx系統下,有時候在安裝node-sass時會出現,Permissions Errors
node
可能出現的狀況是這樣:linux
閱讀後你將獲得什麼git
- 你將成功的解決node-sass安裝不了苦惱(相同或相似的問題)
- 不單單是node-sass,其餘模塊如此類問題,一樣能夠解決
- 你將得到處理此類問題的,多種解決方案
- 你將瞭解到出現此類問題的緣由,以及如何避免此類問題
找到輸出信息裏的關鍵詞user "root" does not have permission to access the dev dir
github
貌似是權限問題,但有時候是root
用戶了,爲何會有權限問題?npm
解決問題的方案有下面幾種:sass
在安裝node-sass
時,使用參數--unsafe-perm
bash
例如:工具
npm install --unsafe-perm node-sass
複製代碼
解析:oop
--unsafe-perm
在root下默認值爲false,其餘的默認值爲trueui
設置爲true,在run package script時會切換UID/GID 明確設置爲false,在非root用戶下安裝會失敗
在安裝node-sass
時,使用參數--user=root
例如:
npm install --user=root node-sass
複製代碼
該參數指定了再執行腳本時使用的帳號(UID),默認是nobody
若是你是直接使用了已經編譯後的node版本
那麼你解壓以後的目錄權限多是這樣的
drwxrwxr-x 7 dev dev 4.0K 3月 24 11:25 node-v8.10.0-linux-x64
複製代碼
也多是這樣的
drwxrwxr-x 7 500 500 4.0K 3月 24 11:25 node-v8.10.0-linux-x64
複製代碼
這裏就須要修改node目錄的權限爲root
chown root:root node-v8.10.0-linux-x64
複製代碼
nvm是個node版本管理工具,能夠方便的下載安裝node,而且能夠方便的切換node版本
這是直接貼上nvm地址,如何安裝看文檔
## 建立.npm-global目錄
mkdir ~/.npm-global
## 設置
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
複製代碼
經過上述方法的其中一種,就能夠解決問題。