使用nvm实现node版本管理

在工作中我们经常会遇到同时并行开发多个项目的情况,如果有两个项目所依赖的node版本不一致,就会让我们很苦恼。比如项目A是多年前的老项目所依赖的node版本为14以下,项目B是我们刚启动的新项目,所依赖的node版本为16以上,这时候我们怎么在同一个时期并行开发这两个项目呢?是来回卸载安装node吗?
这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。

nvm 的下载安装和使用

  1. window系统下载nvm-setup.zip安装包
    nvm下载
  • nvm-setup.zip:安装版,推荐使用,下一步式傻瓜安装
  • nvm-noinstall.zip:绿色免安装版,但使用时需进行配置环境变量。
  1. nvm 安装
    如果电脑上之前已经单独安装了node,需要先卸载干净,卸载方式见下方window 下完全卸载删除 nodejs。然后解压nvm-setup.zip安装包,进入解压的文件夹,双击exe后缀文件根据提示进行安装。安装过程中需要选择nvm和nodejs的安装路径,一般默认即可。
nvm安装路径
nodejs安装路径

安装完毕后输入命令 nvm -v 查看版本,安装成功则显示版本号和列出了各种使用命令。

查看nvm版本

设置setting.txt(可忽略不设置)
在 nvm 的安装路径下,找到 settings.txt,设置node_mirro与npm_mirror为国内镜像地址,防止下载速度过慢。

settings.txt位置

在后面添加这两行代码

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
  1. 使用
  • 列出所有可以安装的Node版本号 nvm list available

    image.png

  • 安装指定版本的node,nvm install x.x.x

    image.png

  • 使用特定版本的node,nvm use x.x.x,这里可能无法执行成功,会有一个报错,见下方nvm use报错exit status 1解决方法

    image.png

  • 列出所有已经安装的Node版本 nvm ls,这里当前正在使用中的版本前面会有一个 * 号标注

    image.png

  • 按照以上步骤设置完成后,我们输入node -v,可以看到node的版本好成功显示出来,代表我们安装成功了

    node -v

下面列出 nvm 的一些常用命令

nvm off                     // 禁用node.js版本管理(不卸载任何东西)
nvm on                      // 启用node.js版本管理
nvm install <version>       // 安装node.js的命名 version是版本号 例如:nvm install 8.12.0
nvm uninstall <version>     // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用
nvm ls                      // 显示所有安装的node.js版本
nvm list available          // 显示可以安装的所有node.js的版本
nvm use <version>           // 切换到使用指定的nodejs版本
nvm -v                       // 显示nvm版本
nvm install stable          // 安装最新稳定版
nvm current              // 显示当前使用中的nvm版本

window 下完全卸载删除 nodejs

  1. 从卸载程序卸载程序和功能。
  2. 重新启动(或者您可能会从任务管理器中杀死所有与节点相关的进程)。
  3. 寻找这些文件夹并删除它们(及其内容)(如果还有)。根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在:
    C:\Program Files (x86)\Nodejs
    C:\Program Files\Nodejs
    C:\Users{User}\AppData\Roaming\npm(或%appdata%\npm)
    C:\Users{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache)
  4. 检查您的%PATH%环境变量以确保没有引用Nodejs或npm存在。
  5. 如果仍然没有卸载,请where node在命令提示符下键入,您将看到它所在的位置 - 删除(也可能是父目录)。
  6. 重新启动,很好的措施。

nvm use报错exit status 1解决方法

nvm use 版本报错,出现exit status 1后面跟一堆乱码的原因是因为无权限。
打开c盘C:\Windows\System32找到 cmd.exe,以管理员身份打开后,再次使用 nvm use x.x.x可实现成功切换。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容