跳至正文

Mac 下配置 npm 的一些建议

标签:

在 Mac 下安装 NodeJS 后使用 npm 往往会遇到很多问题,最困扰的就是权限和安装程序包时的问题。

权限问题

如果觉得每次都要写 sudo 很不爽,那么最好的解决方式就是更改 npm 默认的全局安装位置。

参考文章

查看当前 npm 默认的全局安装位置

npm config get prefix
/usr/local

在用户目录下建立一个新的目录,作为 npm 的全局安装目录

mkdir ~/.npm-global
npm config set prefix "~/.npm-global"

接下来创建 bash_profile 文件并打开

touch .bash_profile
open .bash_profile

添加如下内容并保存

export PATH=~/.npm-global/bin:$PATH

更新 shell

source ~/.bash_profile

再检查一下

npm config get prefix
/Users/xxx/.npm-global

接下来可以在新位置重新安装 npm

npm install -g npm

安装成功后可以删除 usr/local/lib/node_modules、usr/local/bin/npm 和 usr/local/bin/npx 了。以上操作后就不会再存在权限问题了。

安装程序包

安装程序包碰到的最大的问题就是因为大家都知道的原因,导致的安装失败。目前的解决方案基本包括以下两种:使用 cnpm 和更改 npm 镜像源。

使用 cnpm 比较简单,全局安装 cnpm,安装成功之后 npm 替换为 cnpm 命令即可。但是通过 cnpm 也不是百分百能解决问题,而且还会出现各别程序包安装失败的情况,个人不太推荐。

更改 npm 镜像源为淘宝镜像

单次使用时,可以通过 registry 参数来设置,例如:

npm install --registry=https://registry.npm.taobao.org

永久使用的话,可以通过 config set registry 来设置

查看当前镜像源

npm config get registry
https://registry.npmjs.org/

修改当前镜像为淘宝镜像

npm config set registry https://registry.npm.taobao.org

还原的话重新设置为 npm 默认的镜像地址即可。但是经测试,更改为淘宝镜像源的话,还是会出现某些程序包安装失败的问题(Electron)。所以个人比较建议单次使用的方式,碰到问题再想其他办法解决……

Electron 的解决方法为

ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/ npm install -g electron

关于 Electron 的详细内容请见文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注