MAC使用npm全局安装出现的权限问题

2020-10-14  本文已影响0人  潜水的旱鸭子

前几天清了一下电脑缓存和垃圾文件之类的,一不小心把node环境搞崩了

之前是用homebrew安装nvm,管理node版本,还是比较方便的,但是查看nvm管理的文件目录,感觉非常糟心,对于强迫症来说实在是难以忍受。

干脆就直接nvm相关的所有内容全部清掉,现有的node环境也各种清理,包括npm,npx和之前安装的各种全局工具,都清了一干二净

重新从node官网下载了最新的node版本直接安装,看着那干净的目录环境,简直舒心多了

但是遇到了一个新问题,就是npm默认下载目录是在 /usr/local/lib/node_modules ,使用npm下载全局模块时,没有写入权限,会遇到报错: Missing write access to /usr/local/lib/node_modules

解决方式其实也简单,就是在下载命令前加上 sudo 即可

但是毕竟不是太方便,需要每次下载都使用 sudo

还可以给 /usr/local/lib 修改写入权限,但是这个文件夹内不止有npm一家在用,直接修改权限又怕将来重新填坑

干脆一不做二不休,将npm下载的全局模块路径改到直接具有权限的路径

此处借助了mac系统对于 . 开头的文件夹会自动隐藏的特点,在 ~ 目录下创建 .npm-global 文件夹

在终端中使用 npm config set prefix '~/.npm-global' 修改npm的下载路径

然后使用命令打开编辑.bash_profile文件:open -e .bash_profile

在文件内增加命令:export PATH=~/.npm-global/bin:$PATH

保存文件,关闭 .bash_profile

在终端中使用 source .bash_profile 刷新配置

整个过程就完成了,可以下载个全局模块进行测试了


上一篇下一篇

猜你喜欢

热点阅读