nvs自动切换项目node版本

2,059 阅读1分钟

如今的web前端开发已经离不开node了,那么经常会遇到一个场景,你自己正开发着一个node12的项目,老板突然叫你去修复个 node10 项目的bug,然后你把代码clone下来npm i一下,发现报错了。草,node版本问题。现在你把本地安装了个node10,解决了bug,然后 提交代码,继续装回node12,然后开始搬砖。这时候老板又来了,再解决个bug,然后你修复、提交代码、切回12。如此反复不停地切换node版本,浪费了很多时间,耽误了工作进度,然后年底就被优化掉了。。

解决办法

切换版本

1、nvm

第一步:安装可以参考 Github 的 README,也可以直接执行以下命令进行安装:

curl -o- raw.githubusercontent.com/nvm-sh/nvm/… | bash

第二步:命令执行成功之后,使用以下命令让 nvm 生效:

source ~/.zshrc

第三步:安装 node,使用以下命令安装最新的 LTS 版本:

nvm install --lts

2、n

安装

$ npm install -g n  //安装
$ n 版本号 // n 下载所需node
$ n latest // 下载最新版本
$ n rm 4.4.4 // $ n rm 4.4.4
$ n  // 切换版本
  6.9.4
ο 7.4.0
  4.4.4

以指定的版本来执行脚本 $ n use 7.4.0 index.js 以上两种方案都可以切换版本,n在windows平台不支持 你把代码提交git后,同事clone下来,安装包run一下,报了错,你说这是node版本问题,巴拉巴拉一堆怎么解决,同事没听懂,说有没有简单的办法,不用每次use版本号。你去网上搜了搜,大概有几种解决办法

自动切换版本

1、nvm avn avn-nvm

www.jianshu.com/p/6a9ea9714…

$ npm install -g avn avn-nvm  // 安装
$ avn setup // 配置环境变量
$ echo "5.9" > .nvmrc // 加上.nvmrc文件

2、nodeinstall

www.npmjs.com/package/nod…

原理是把 node runtime 安装到了node_modules里,这样只要全局有个npm能安装包就行,本地启动回去找 node _modules找安装的项目node runtime 个人感觉 有点重,尤其是正式环境是docker的话,自带了可选node版本,就没有什么用了 node在8之后实现了类似功能

3、nvs

github.com/jasongin/nv…

$ export NVS_HOME="$HOME/.nvs"
$ git clone https://github.com/jasongin/nvs --depth=1 "$NVS_HOME"
$ . "$NVS_HOME/nvs.sh" install
$ nvs remote node https://npm.taobao.org/mirrors/node/

也需要配置 项目文件

echo "5.9" > .nvmrc

最后选择了nvs的方式