<问题> 修复npm安装全局模块权限问题*

参考:
https://blog.csdn.net/gentlycare/article/details/51279529
https://www.jianshu.com/p/976810138d35

一、问题:

在使用npm 命令安装相关的模块时,会出现如下的提示:

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
权限问题提示

出现此问题的原因是:npm 的安装权限不足,文件没有root权限,即npm 的安装目录/usr/local/lib/node_modules (一般都在这个目录下,除非你自己手动修改过默认的安装路径)

二、解决:

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

  • 修改全局(默认)安装路径的权限(推荐)
  • 修改默认安装路径,避免安装权限不足
  • 借助第三方工具安装node

1、修改安装路径的权限

1.1、首先查看默认全局安装路径

npm config get prefix

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

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

1.2、修改路径权限

sudo chown -R $USER /usr/local/{lib/node_modules,bin,share}

执行完毕将会把/usr/local下的lib/node_modules、bin、share所有权更改为当前用户,即拥有root权限,即可进行安装。

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

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

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

mkdir ~/.npm-global

2.2、配置npm使用新的路径

//注,此处单引号中的路径可随意,也可以不加 ~/ ,即会在用户路径下新建
npm config set prefix '~/.npm-global'

2.3、打开或者新建用户路径下的.bash_profile,加入下面一行

source .bash_profile

可以尝试着安装一个全局包,应该就可以成功了。

3、借助第三方工具安装node

3.1、mac系统借助brew安装node

brew install node

3.2、centos借助yum工具安装node

yum install node
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容