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进行 ...
随机推荐
- 8 Jvm堆分析
备注:直接内存分配,无法触发GC动作 备注:with outgoing reference (当前选中对象引用的对象),with incoming references(引用当前对象的对象)
- UVA - 816 Abbott's Revenge(bfs)
题意:迷宫从起点走到终点,进入某点的朝向不同,可以出去的方向也不同,输出最短路. 分析:因为朝向决定接下来在该点可以往哪里走,所以每个点需要有三个信息:x,y,d(坐标和进入该点的朝向),所以将起点的 ...
- POJ1703 && POJ2942 &&POJ 1182 并查集 这个做法挺巧妙
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 37242 Accepted: ...
- 指令——mv
一个完整的指令的标准格式: Linux通用的格式——#指令主体(空格) [选项](空格) [操作对象] 一个指令可以包含多个选项,操作对象也可以是多个. 指令:mv (move,移动,剪切) 作用 ...
- cf 763B. Timofey and rectangles
%%题解,脑洞好大啊. 四色定理什么鬼的..所以一定是yes. 因为矩形边长都是奇数,所以可以按左下角分类,一共4类,分别1,2,3,4就可以了. (需要4种颜色的情况大概就是4个矩形围起来一个矩形) ...
- 038-PHP向返回的闭包函数实例中,传递外部变量参数
<?php # 向返回的闭包函数实例中,传递外部变量参数 # 直接调用将不会输出$txt的内容 function demo(){ $txt = '我爱PHP'; # 1.function()内的 ...
- 4. Retrieving a mapper(检索映射器)
Retrieving a mapper(检索映射器) 4.1. The Mappers factory(映射工厂) 可以通过 org.mapstruct.factory.Mappers 类检索映射器实 ...
- ES6 之 Object 的方法总结
阅读:Object 1.obj的"." 或 "[]"方法 读取对象的属性或方法 对象属性的读取:ES6中被Proxy的get(target, propKey, ...
- java的JDBC的事务学习
https://www.cnblogs.com/chy18883701161/p/11372089.html
- log4j的配置学习
我的 log4j.properties: # Set root category priority to INFO and its only appender to CONSOLE. #log4j.r ...