npm的版本管理和镜像源管理
随着时间的变化,技术在不断更新,项目会迭代发展,那么面对着新老项目,我们需要不同的 node 环境,难度每次版本不同就重新安装一次 node 环境?
我们可以使用 nvm 来进行不同环境的管理。
在安装 nvm 之前,假如系统已经安装过 node,先卸载掉原有的 node,执行nvm install stable 来安装当前稳定版本
brew install nvm
windows 下是没有 nvm 的,可以使用 nvm-windows
安装完毕后,我们来看下效果:

假如我们项目现在需要的是 6.**版本的 node 环境,那么在该项目下执行下面的命令,即可切换到相对应的 node 版本
nvm install lts/boron # 没安装过的需要先执行该命令
nvm use v6 # 切换到v6版本
效果如图

nvm 实现了 node 不同版本的管理,但是 npm 的镜像源在国外,鉴于某种原因,你可能碰到过在安装某个依赖包的时候失败。这不是问题,国内的互联网领军企业已经解决了这个问题。例如,我们可以执行下面命令来把当前环境的镜像源永久指定使用淘宝源(当然,你也可以使用 cnpm)解决安装失败的网络问题。
npm config set registry https://registry.npm.taobao.org
淘宝源10 分钟同步一次官方源的内容
上面的方法看起来没什么问题,但是难道每次切换源的时候我都需要拼写一次源的 url 吗,这似乎有些不够优雅。那么优雅的方法是什么呢?答案是使用nrm管理不同的镜像源。
再次说明,上面的 nvm 的安装之前,假如本机已经安装了 node 版本,请确定一定要删除了再安装!
在使用 nvm 管理 node 版本的基础上,npm 全局安装的 nrm 会跟随着当前版本的 node,当 node 环境切换的时候,之前全局安装的包就不存在了。
node -v # 查看当前node版本
npm install -g nrm # 当前版本下全局安装nrm
npm ls -g --depth=0 # 列出当前全局安装的包
nrm ls # 证明nrm安装,并且生效了
nvm use v8 # 这时候切换v8版本的node环境
nrm ls # 这时候v8版本没安装过nrm的话就会报 commond not found 这个错误,我因为v8也安装过了所以没出现错误,转到v6的时候能看到效果
我们看下效果:

另外 nrm 运行下面命令还能测试不同源的速度,效果如下
nrm test

可以看到上图有两个源链接超时,那么我们可以尝试着用del删除掉它俩,但是很遗憾
nrm del 命令不能删除 nrm 自己内置的源
我们也可以添加自己的私有源,看下效果
nrm add myself https://myselftest.org

不过上面是我们测试的,所以我们还是删掉它吧,执行下面命令删除,这次没有删不掉的问题
nrm del myself

至此,我们使用 nvm 管理 node 的版本,nrm 管理 npm 的镜像源。
参考文章: