参考:
https://blog.csdn.net/gentlycare/article/details/51279529
https://www.jianshu.com/p/976810138d35
一、问题:
在使用 npm
命令安装相关的模块时,会出现如下的提示:
1 | npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules |
出现此问题的原因是: npm
的安装权限不足,文件没有root权限,即 npm
的安装目录 /usr/local/lib/node_modules
(一般都在这个目录下,除非你自己手动修改过默认的安装路径)
二、解决:
有三个方式可以解决该问题:
- 修改全局(默认)安装路径的权限(推荐)
- 修改默认安装路径,避免安装权限不足
- 借助第三方工具安装node
1、修改安装路径的权限
1.1、首先查看默认全局安装路径
1 | npm config get prefix |
对于大多数系统显示目录为:/usr/local
警告:如果默认路径是在 /usr/
请跳过 修改路径权限 这步骤,否则你会搞乱系统权限。
1.2、修改路径权限
1 | sudo chown -R $USER /usr/local/{lib/node_modules,bin,share} |
执行完毕将会把 /usr/local
下的 lib/node_modules
、 bin
、 share
所有权更改为当前用户,即拥有root权限,即可进行安装。
2、修改默认全局安装路径
当你不想修改默认安装路径的权限,因为由此可能会带来一些额外问题,譬如说,修改权限后无法跟当前系统其他用户共享。这个时候可以考虑修改默认的安装路径。
在示例下,我把默认全局安装路径修改到当前用户的home目录下面:
2.1、新建一个全局安装的路径
1 | mkdir ~/.npm-global |
2.2、配置npm使用新的路径
1 | //注,此处单引号中的路径可随意,也可以不加 ~/ ,即会在用户路径下新建 |
2.3、打开或者新建用户路径下的 .bash_profile
,加入下面一行
1 | source .bash_profile |
可以尝试着安装一个全局包,应该就可以成功了。
3、借助第三方工具安装node
3.1、mac系统借助brew安装node
1 | brew install node |
3.2、centos借助yum工具安装node
1 | yum install node |