网络上的常见方法

  • 目前网络上常见的方法都是修改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目录

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

     mkdir ~/.npm-global
  2. 配置npm使用新的路径

     npm config set prefix ‘~/.npm-global’
  3. 打开或新建~/.bash_profile文件,在末尾加入

     export PATH=~/.npm-global/bin:$PATH
  4. 更新系统环境变量

     source ~/.bash_profile
  • PS: 如果你不想去修改.bash_profile文件的话,你也可以使用如下命令

     # 配置npm config的路径
    NPM_CONFIG_PREFIX=~/.npm-global

使用npx安装全局模块

同时,如果你的npm版本是在5.2及以上的时候,在安装npm全局模块时,node官方更推荐你使用npx命令。npx的官方指南连接

  • 注意: 上面那个网站可能需要翻墙,所以可以直接百度npx的使用方式

npm全局权限设置 - Mac的更多相关文章

  1. MAC OS X的ACL扩展权限设置

    在WEB开发时,网站是以_www的用户运行的,而我在本地是以liuwencan的用户编辑的.这就带来一个问题:如果所有文件属于liuwencan,那么网站运行需要写文件时就因无权限而失败:如果所有文件 ...

  2. MacOS安装react。问题 -- npm全局包的权限问题

    网上的教程有好多,在这里不一一列举,我只介绍我今天安装成功的步骤 首先,在安装react之前要先配置好node 1.安装node 在这里下载node的安装包https://nodejs.org/en/ ...

  3. NPM全局安装软件包时解决EACCES权限错误

    NPM全局安装软件包时解决EACCES权限错误 Resolving EACCES permissions errors when installing packages globally npm WA ...

  4. npm全局路径及cache路径设置

    1.网上安装node的教程很多,下载安装包,自定义路径安装即可: 2.安装完成node默认npm已安装,可以通过npm安装其他包.cmd命令分别  node -v    或 npm -v  可以查看安 ...

  5. MacOS安装npm全局包的权限问题

    MacOS,安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_module ...

  6. [记]Windows 系统下设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata,担心安装的node_modules越来越多,导致C盘满,所以参考别人的博文,将node_modules安装的默认目录修改一下. 参考Wind ...

  7. 安装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 ...

  8. angularjs中的页面访问权限设置

    11月在赶一个项目,这阵子比较忙,挤挤时间更一篇博客吧,如标题所述说说在ng中页面访问权限控制的问题,水平有限各位看官见谅: 在以往的项目中,前后端常见的配合方式是前端提供页面和ui加一点DuangD ...

  9. openerp权限设置总结

    Openerp权限设置 最近一直在弄openerp权限问题,现在终于懂了一些.主要对模块下的security 目录下的文件:xxx_security.xml.ir.model.access.csv进行 ...

随机推荐

  1. 8 Jvm堆分析

    备注:直接内存分配,无法触发GC动作 备注:with outgoing reference (当前选中对象引用的对象),with incoming references(引用当前对象的对象)

  2. UVA - 816 Abbott's Revenge(bfs)

    题意:迷宫从起点走到终点,进入某点的朝向不同,可以出去的方向也不同,输出最短路. 分析:因为朝向决定接下来在该点可以往哪里走,所以每个点需要有三个信息:x,y,d(坐标和进入该点的朝向),所以将起点的 ...

  3. POJ1703 && POJ2942 &&POJ 1182 并查集 这个做法挺巧妙

    Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37242   Accepted: ...

  4. 指令——mv

    一个完整的指令的标准格式: Linux通用的格式——#指令主体(空格) [选项](空格) [操作对象] 一个指令可以包含多个选项,操作对象也可以是多个. 指令:mv   (move,移动,剪切) 作用 ...

  5. cf 763B. Timofey and rectangles

    %%题解,脑洞好大啊. 四色定理什么鬼的..所以一定是yes. 因为矩形边长都是奇数,所以可以按左下角分类,一共4类,分别1,2,3,4就可以了. (需要4种颜色的情况大概就是4个矩形围起来一个矩形) ...

  6. 038-PHP向返回的闭包函数实例中,传递外部变量参数

    <?php # 向返回的闭包函数实例中,传递外部变量参数 # 直接调用将不会输出$txt的内容 function demo(){ $txt = '我爱PHP'; # 1.function()内的 ...

  7. 4. Retrieving a mapper(检索映射器)

    Retrieving a mapper(检索映射器) 4.1. The Mappers factory(映射工厂) 可以通过 org.mapstruct.factory.Mappers 类检索映射器实 ...

  8. ES6 之 Object 的方法总结

    阅读:Object 1.obj的"." 或 "[]"方法 读取对象的属性或方法 对象属性的读取:ES6中被Proxy的get(target, propKey, ...

  9. java的JDBC的事务学习

    https://www.cnblogs.com/chy18883701161/p/11372089.html

  10. log4j的配置学习

    我的 log4j.properties: # Set root category priority to INFO and its only appender to CONSOLE. #log4j.r ...