在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
复制代码
经过上述方法的其中一种,就能够解决问题。