npm全局权限设置 - Mac
网络上的常见方法
- 目前网络上常见的方法都是修改npm安装路径的权限
通过使用命令
npm config get prefix
得到npm的路径,结果大部分都是/usr/local。然后,很多方法都会要求将该路径的权限修改为当前用户
即,使用命令
sudo chown -R $(whoami) /usr/local
或
sudo chown -R $(whoam) $(npm config get prefix)/{lib/node_modules,bin,share}
但这种方法在Mac OS达到10.12及之后便无效了,系统默认无法更改/usr/local文件夹的所有权,会提示: chown: /usr/local: Operation not permitted
官网给出的方法
然而实际上,node官网早已对这种情况作出了合理的修改方法,并且官网强烈建议用户不要使用root、sudo等方法覆盖权限。链接如下: node官网给出的修改方法
使用nvm重新安装node
nvm 即node version manager,这是node官网的推荐方法,使用nvm安装node时会自动申请各种权限,在之后的使用中就不会有权限问题了
安装方法如下: node官网给出的安装方式
改变npm的默认路径
第二个方法是我目前使用的方法,这也是不想重新安装node的用户可以采用的方法。可以将默认的全局安装路径修改到当前用户的home目录下
新建一个全局安装的路径
mkdir ~/.npm-global
配置npm使用新的路径
npm config set prefix ‘~/.npm-global’
打开或新建~/.bash_profile文件,在末尾加入
export PATH=~/.npm-global/bin:$PATH
更新系统环境变量
source ~/.bash_profile
PS: 如果你不想去修改.bash_profile文件的话,你也可以使用如下命令
# 配置npm config的路径
NPM_CONFIG_PREFIX=~/.npm-global
使用npx安装全局模块
同时,如果你的npm版本是在5.2及以上的时候,在安装npm全局模块时,node官方更推荐你使用npx命令。npx的官方指南连接
- 注意: 上面那个网站可能需要翻墙,所以可以直接百度npx的使用方式
npm全局权限设置 - Mac的更多相关文章
- MAC OS X的ACL扩展权限设置
在WEB开发时,网站是以_www的用户运行的,而我在本地是以liuwencan的用户编辑的.这就带来一个问题:如果所有文件属于liuwencan,那么网站运行需要写文件时就因无权限而失败:如果所有文件 ...
- MacOS安装react。问题 -- npm全局包的权限问题
网上的教程有好多,在这里不一一列举,我只介绍我今天安装成功的步骤 首先,在安装react之前要先配置好node 1.安装node 在这里下载node的安装包https://nodejs.org/en/ ...
- NPM全局安装软件包时解决EACCES权限错误
NPM全局安装软件包时解决EACCES权限错误 Resolving EACCES permissions errors when installing packages globally npm WA ...
- npm全局路径及cache路径设置
1.网上安装node的教程很多,下载安装包,自定义路径安装即可: 2.安装完成node默认npm已安装,可以通过npm安装其他包.cmd命令分别 node -v 或 npm -v 可以查看安 ...
- MacOS安装npm全局包的权限问题
MacOS,安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_module ...
- [记]Windows 系统下设置Nodejs NPM全局路径
Windows下的Nodejs npm路径是appdata,担心安装的node_modules越来越多,导致C盘满,所以参考别人的博文,将node_modules安装的默认目录修改一下. 参考Wind ...
- 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
方法一 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules ...
- angularjs中的页面访问权限设置
11月在赶一个项目,这阵子比较忙,挤挤时间更一篇博客吧,如标题所述说说在ng中页面访问权限控制的问题,水平有限各位看官见谅: 在以往的项目中,前后端常见的配合方式是前端提供页面和ui加一点DuangD ...
- openerp权限设置总结
Openerp权限设置 最近一直在弄openerp权限问题,现在终于懂了一些.主要对模块下的security 目录下的文件:xxx_security.xml.ir.model.access.csv进行 ...
随机推荐
- 跟 Task 有关的 Intent对象中设置的Flag
FLAG_ACTIVITY_BROUGHT_TO_FRONT 这个标志一般不是由程序代码设置的,如在launchMode中设置singleTask模式时系统帮你设定. FLAG_ACTIVI ...
- 微信access_token设计的原理解析
1.access_token是加密的字符串,其目的是为了接口安全考虑,不然随便就能调用微信服务器的接口会有很大风险. 2.用户在公众号中填写的Token就相当于本项目中的xiaoming,是签名验证中 ...
- JSONObject 和JSONArray基本使用
1. 打包 JSONObject jsonObject = new JSONObject(); jsonObject.put("code", "200"); j ...
- spring boot rest api exception解决方案
1.控制器级别@ExceptionHandler public class FooController{ //... @ExceptionHandler({ CustomE ...
- redisTemplate注入为空
springboot2.*集成redis时,redis工具类中的redisTemplate注入后总是为空. 问题代码还原: 1.工具类定义成静态工具类,@Resource注入redisTemplate ...
- 一道算法题加深我对C++中map函数的理解
一.一道题目引发我对map函数的考量 首先是题目大意:有n个银行,a[i]表示这个人在第i个银行有a[i]块钱(可以是负数),所有银行的钱加起来正好是0.每次只能在相邻的银行之间转账,问最少要转多少次 ...
- C语言备忘录——static
对于这个关键字我一直没有弄清楚,今天特地去花了一定的时间去理解这个关键字.在函数或变量声明时,在数据类型前加上 static 后会有以下几个效果 一.用于函数定义时: 1.函数的链接属性会被修改,从e ...
- python 编写程序输出50以内勾股数,如下图所示,要求每组显示六祖,各组勾股数无重复
import math n = 0 for a in range(1,49): for b in range(a,49): c = math.ceil(math.sqrt(a**2+b**2)) if ...
- Centos 时间与主机时间不匹配问题解决
有时候新安装的虚拟机的系统时间会和主机的时间差8个小时,这是因为虚拟机和主机所在的时区不同. 这会导致当你往mysql数据库插入数据时如果设置时间为current_time结果会和虚拟机保持一致. 1 ...
- 7.Python列表
.button, #logout { color: #333; background-color: #fff; border-color: #ccc; } span#login_widget > ...