简介

在实际的前端开发过程中,可能会经常遇见 node.js 的版本问题,不同的项目需要使用不同的 node.js 版本。

直接安装的话,只能安装和使用 node.js 的一个版本。可以使用 nvm 来安装和管理不同版本的 node.js。

nvm 是 Mac 下的 node.js 管理工具。可以通过 nvm 安装和切换不同版本的 node.js。在 Windows 下面,可以使用 nvmw 或者 nvm-windows

备注:如果电脑中已经安装 node.js ,需要先卸载

Windows 下 nvm 安装

安装步骤如下:

  • 到 github 上面下载。下载地址:https://github.com/coreybutler/nvm-windows/releases

  • 下载完 nvm-setup.zip 之后解压,解压出来一个 nvm-setup.exe 文件

  • 双击安装

  • 打开 cmd ,输入 nvm 验证是否安装成功

备注

  • nvm-noinstall.zip :绿色免安装版,但使用时需进行配置。

  • nvm-setup.zip :安装版,推荐使用

  • nvm 安装路径可以自定义,比如: d:\nvm

  • node.js 安装路径(就是以后下载的不同版本 node.js 的安装路径,推荐不要放在 C 盘,不要有空格、特殊字符等):比如: d:\node.js

Mac 下 nvm 安装

可以使用 curl 命令安装

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.38.0/install.sh | bash

也可以使用 wget 命令安装

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.38.0/install.sh | bash

v0.38.0 是 nvm 的版本号。最新版本号可到 github 上面查看

  • 当出现 Node Version Manager 时,说明已安装成功;

  • 安装完成后,需要先关闭终端,再重新打开。

  • 可以通过查看版本号的命令确认是否安装成功: nvm -v

如果出现 command not found: nvm ,可能是因为缺少 .bash_profile 文件导致的。继续如下步骤操作

  • 切换到用户目录: cd ~

  • 查看是否有 .bash_profile 文件: ls -a;若没有则新建,添加以下内容

export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
  • 如果安装了 oh my zsh ,则需要在 .zshrc 文件中添加配置信息

  • 打开 ~/.zshrc 文件,在最下面添加 source ~/.bash_profile

常用命令

  • nvm ls :列出所有已安装的 node 版本

  • nvm ls-remote :列出所有远程服务器的版本(官方node version list)

  • nvm list :列出所有已安装的 node 版本

  • nvm list available :显示所有可下载的版本

  • nvm install stable :安装最新版 node

  • nvm install [node版本号] :安装指定版本 node

  • nvm uninstall [node版本号] :删除已安装的指定版本

  • nvm use [node版本号] :切换到指定版本 node

  • nvm current :当前 node 版本

  • nvm alias [别名] [node版本号] :给不同的版本号添加别名

  • nvm unalias [别名] :删除已定义的别名

  • nvm alias default [node版本号] :设置默认版本

其他

Mac 系统, m1 芯片的话,会有兼容性问题。

node.js 的 v15.x.x 及以上版本,已经对 M1 做了兼容处理

安装的 node.js 的 v14 及以下版本时,需要进入 Rosetta 2 ,安装对应的 stable 版本

arch -x86_64 zshnvm listnvm install 12

原文地址:https://baijiahao.baidu.com/s?id=1726200636333230641&wfr=spider&for=pc

最新文章

  1. hibernate -- HQL语句总结
  2. 前端工程师如何快速的开发一个微信JSSDK应用
  3. js中等性操作符(==)、关系操作符(<,>)和布尔操作符(!)比较规则
  4. Kafka的消息格式
  5. 首页banner焦点图自动轮播效果
  6. jquery 属性与css操作
  7. 【解决方法】VS 丢失模板
  8. 关于在C#中实现AOP 拦截编程模式的新的探索
  9. 关于android:screenOrientation="portrait" 横竖屏切换
  10. JQuery 实现返回顶部效果
  11. android页面切换效果
  12. php报错 Call to undefined function mb_stripos()
  13. ISOMAP
  14. byte转bit
  15. JS封装addClass、removeClass
  16. 白话RPC
  17. free结果解释
  18. Dell 服务器阵列扩容【经验分享(转)】
  19. [洛谷P5081]Tweetuzki 爱取球
  20. libevent个人理解

热门文章

  1. FileZilla链接centos虚拟机不显示问题
  2. vue 中的 provide/inject
  3. 【转】关于 Nokogiri 的安装依赖 libxml2安装问题
  4. 2.9 系统IO
  5. 家里静态Ip设置
  6. 数字图像处理之直方图处理——a cute dog huang
  7. 【PyCharm】PyCharm设置深色背景
  8. (四十二)Unittest单元测试框架之关于unittest还需要知道的-跳过测试和预期失败
  9. HTML学习笔记2----元素与标签
  10. php 合并,拆分,追加,查找,删除数组教程