解决修复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 相关文章推荐
$()JS小技巧
Jul 21 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
Mar 27 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
Jquery easyui开启行编辑模式增删改操作
Jan 14 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
angular forEach方法遍历源码解读
Jan 25 Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 Javascript
Vue header组件开发详解
Jan 26 Javascript
vue短信验证性能优化如何写入localstorage中
Apr 25 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
Sep 03 Javascript
Vue实现验证码功能
Dec 03 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 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
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
2015/04/17 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
PDO::errorCode讲解
2019/01/28 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
一个js的tab切换效果代码[代码分离]
2010/04/11 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
JS交换变量的方法
2015/01/21 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
Vue 中mixin 的用法详解
2018/04/23 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
PyMongo安装使用笔记
2015/04/27 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
木工主管岗位职责
2013/12/08 职场文书
教学大赛获奖感言
2014/01/15 职场文书
重阳节登山活动方案
2014/02/03 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
班级活动总结格式
2014/08/30 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL