基于nvm的Node、NPM的版本管理(NPM permission error的解决)

最近在使用npm过程中,发现全局安装总会遇到permission相关的错误,所以总是要在前面加sudo,还得不停输入密码。

懒惰使我进步,随手google了一下相关问题的解决方案,发现npm在官方文档中早有明示How to Prevent Permissions Errors。据其描述,根本原因其实是Node.js安装包将程序安装在了一个只有local permissions的地址上(写入是需要管理员权限的)。而其提供了两种修复的方式,其中的推荐方式既是本文要说的nvm的方式。

nvm的优势

nvm(Node Version Manager)通过对node和npm集中的版本管理主要解决了两个问题

  1. 统一解决了node和npm版本管理的问题,nvm提供了很方便的机制可以使我们在同一终端上安装多个版本的node和npm并且提供了快速切换版本的能力,这样为我们检测项目兼容性和bug定位提供了很大的帮助。
  2. 解决了本文一开始提到的种种permission的相关问题,自此再也不用重复输入sudo来进行全局安装。

nvm的使用

这里简单介绍一下nvm在MacOS下的安装和使用(注,nvm主要还是面向mac os和linux用户,使用windows的客官请看这里)

安装之前

在安装之前,首先应该需要考虑一下是否要保留原有的系统安装的node。nvm是可以保留原有node来安装的,也提供了切回system node的方式。

但是要注意
如果系统中存在多用户,那么当前安装的nvm是只针对你的,其它用户如果没有安装则只能使用到系统安装的node版本。两者全局安装的node modules地址是不相同的(/usr/local/lib/node_modules/* VS ~/.nvm/versions/node/vX.X

你可能感兴趣的:(Node,Node,NPM,nvm)