解决修复npm安装全局模块权限的问题


Posted in Javascript onMay 17, 2018

相信我们曾经可能都遇到过全局安装某个模块包的过程中提示EACCESS的错误问题。这是由于npm全局安装模块的默认路径没有权限导致的。

有三个方式可以解决该问题:

 修改全局安装路径的权限

 修改默认安装路径

 借助第三方工具安装node

修改安装路径的权限

查看默认全局安装路径

npm config get prefix

对于大多数系统显示目录为:/usr/local

警告:如果默认路径是在/usr/请跳过该步骤,否则你会搞乱系统权限。

修改路径权限

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

执行完毕将会把/usr/local下的lib/node_modules、bin、share所有权更改为当前用户。

修改默认全局安装路径

当你不想修改默认安装路径的权限,因为由此可能会带来一些额外问题,譬如说,修改权限后无法跟当前系统其他用户共享。这个时候可以考虑修改默认的安装路径。

在示例下,我把默认全局安装路径修改到当前用户的home目录下面:

1、新建一个全局安装的路径

mkdir ~/.npm-global

2、配置npm使用新的路径

npm config set prefix ‘~/.npm-global'

3、打开或者新建~/.profile,加入下面一行

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

4、更新系统环境变量

source ~/.profile

安装一个全局包试一试:

npm install -g jshint

[luncher@localhost aaa]$ ls ~/.npm-global/bin/
jshint
[luncher@localhost aaa]$

借助第三方工具安装node

mac系统借助brew安装node

brew install node

centos借助yum工具安装node

yum install node

以上这篇解决修复npm安装全局模块权限的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript实现给出的盒子的序列是否可连为一矩型
Aug 30 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
Oct 11 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
Jun 28 Javascript
JavaScript中伪协议 javascript:使用探讨
Jul 18 Javascript
让JavaScript和其它资源并发下载的方法
Oct 16 Javascript
jquery模拟多级复选框效果的简单实例
Jun 08 Javascript
JavaScript和jQuery制作光棒效果
Feb 24 Javascript
在一个页面实现两个zTree联动的方法
Dec 20 Javascript
web前端vue之vuex单独一文件使用方式实例详解
Jan 11 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
vue实例中data使用return包裹的方法
Aug 27 Javascript
Ajax 的初步实现(使用vscode+node.js+express框架)
Jun 18 Javascript
npm 下载指定版本的组件方法
May 17 #Javascript
ES6之模版字符串的具体使用
May 17 #Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
May 17 #Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
May 17 #Javascript
解决Mac安装thrift因bison报错的问题
May 17 #Javascript
Vue中的字符串模板的使用
May 17 #Javascript
快速解决brew安装特定版本flow的问题
May 17 #Javascript
You might like
239军机修复记
2021/03/02 无线电
详解PHP中的外观模式facade pattern
2018/02/05 PHP
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
Jquery操作Ajax方法小结
2015/11/29 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
详解VueJs中的V-bind指令
2018/05/03 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
记一次react前端项目打包优化的方法
2020/03/30 Javascript
Cpy和Python的效率对比
2015/03/20 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
对pandas中Series的map函数详解
2018/07/25 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
Python PIL图片添加字体的例子
2019/08/22 Python
mac使用python识别图形验证码功能
2020/01/10 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
电气专业推荐信范文
2013/11/18 职场文书
护士在校生自荐信
2014/02/01 职场文书
趣味体育活动方案
2014/02/08 职场文书
城管大队整治方案
2014/05/06 职场文书
病房管理制度范本
2015/08/06 职场文书
如何写好开幕词?
2019/06/24 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
总结Python变量的相关知识
2021/06/28 Python
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python