原创

NPM报Error: EACCES: permission denied错误,无法安装node-sass插件

Linux系统下运行npm命令配置vuejs+element服务环境时报“Error: EACCES: permission denied, mkdir '/usr/local/node/lib/node_modules/node-sass/vendor'”没有权限问题,具体错误日志如下:

Unable to save binary /usr/local/node/lib/node_modules/node-sass/vendor/linux-x64-57 : { Error: EACCES: permission denied, mkdir '/usr/local/node/lib/node_modules/node-sass/vendor'
    at Object.fs.mkdirSync (fs.js:885:18)
    at sync (/usr/local/node/lib/node_modules/node-sass/node_modules/mkdirp/index.js:71:13)
    at Function.sync (/usr/local/node/lib/node_modules/node-sass/node_modules/mkdirp/index.js:77:24)
    at checkAndDownloadBinary (/usr/local/node/lib/node_modules/node-sass/scripts/install.js:111:11)
    at Object.<anonymous> (/usr/local/node/lib/node_modules/node-sass/scripts/install.js:154:1)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/usr/local/node/lib/node_modules/node-sass/vendor' }


具体两种解决办法如下:

1、改变NPM的默认目录的权限

npm config get prefix

如果显示/usr/local,那执行

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}


2、改变NPM默认目录

执行如下命令

1)mkdir ~/.npm-global

2)npm config set prefix '~/.npm-global'

3)export PATH=~/.npm-global/bin:$PATH 

个人建议写到文件中,具体操作操作如下:

touch /etc/profile.d/nodejs.sh

vim /etc/profile.d/nodejs.sh,新增如下内容:

echo “PATH=~/.npm-global/bin:$PATH“ >/etc/profile.d/nodejs.sh

4)source /etc/profile

安装node-sass包,具体命令如下:

npm install -g node-sass

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信