参考:
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