mac和windows上安装nvm管理node版本
ztj100 2024-11-07 13:40 33 浏览 0 评论
NVM 是 node version manager 的缩写,它是一个用来管理电脑上 node 版本的命令行工具,在日常前端开发中是一个跟 node 一样会经常用到的工具,可以很方便的让我们快速切换不同的node版本。
mac 上安装 nvm
1、下载安装 nvm
下载安装可以直接使用官方推荐的 cURL or Wget 命令,可以参考 nvm 官方仓库里的说明 https://github.com/nvm-sh/nvm/tree/master:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
当然,也可以使用 brew 命令来安装,brew 是 mac 系统上一款软件管理工具,通过它可以很方便的安装、卸载第三方软件,类似于node里的npm包管理工具,如果你的 mac 上有安装 brew,可以在终端中输入下方命令安装 nvm:
brew install nvm
2、执行 nvm 脚本安装文件
在 mac 中,source 命令是一个非常有用的命令,它用于在当前shell环境中执行指定的shell脚本文件,这里我们就需要借助 source 命令来执行下 nvm 安装脚本。我们需要先查看上一步骤中 nvm 的安装目录,直接输入:
brew list nvm
比如我的 mac 上查看到的安装目录:
/usr/local/Cellar/nvm/0.39.1_1/etc/bash_completion.d/nvm
/usr/local/Cellar/nvm/0.39.1_1/libexec/ (2 files)
/usr/local/Cellar/nvm/0.39.1_1/nvm-exec
/usr/local/Cellar/nvm/0.39.1_1/nvm.sh
这里我们需要的就是最后一个 nvm.sh 的那个,直接用 source 命令执行:
source /usr/local/Cellar/nvm/0.39.1_1/nvm.sh
其实除了上面自己查找nvm脚本的位置,还有一种不需要先找出脚本位置更简单的方式,推荐大家直接用这一种方式,在终端中输入:
source ~/.nvm/nvm.sh
3、设置环境变量
到这里如果我们直接在终端命令中输入 nvm 或 nvm -v,不出意外影噶会报错:zsh: command not found: nvm,这是因为我们还没设置环境变量,终端命令执行时找不到 nvm 这个命令。我们需要同时设置 .zshrc 和 .bash_profile 这两个文件,具体步骤和要设置的变量内容都是一样的:
a、打开配置文件
用 vim 命令来编辑配置文件,注意设置 .bash_profile 文件时,后面的文件名改成 .bash_profile:
vim ~/.zshrc
b、添加环境变量
按键盘上的 i 键进入编辑模式,然后在文件中添加如下内容:
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
添加好之后按键盘上的 esc 退出键,然后再输入 :wq 就会自动保存然后退出编辑模式。
c、重新加载配置文件
这里也需要借助 source 命令,注意设置 .bash_profile 文件时,后面的文件名改成 .bash_profile:
source ~/.zshrc
4、卸载之前的 node
为了统一管理我们可以将系统上之前安装的 node 卸载掉,注意如果你的系统之前还没安装过 node 就不需要这一步了,直接输入下面的命令删除所有 node 和 npm 相关的文件:
sudo rm /usr/local/bin/node
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.node-gyp
sudo rm -rf /usr/local/bin/npm
sudo rm -rf ~/.npm
sudo rm -rf /usr/local/lib/node_modules
在 windows 上安装 nvm
windows 上我们可以直接下载安装文件然后点点就行了,没有 mac 上那么麻烦。直接在官方下载地址 https://github.com/coreybutler/nvm-windows/releases 中下载 nvm-setup.exe 这个文件:
然后直接点击这个 exe 安装文件跟着提示点就行了。
常用 nvm 命令
## 安装指定版本,版本号可模糊指定:nvm install v16.6.0、nvm install 16.6
nvm install <version>
# 卸载指定版本
nvm uninstall
# 切换到某个版本
nvm use <version>
# 列出本地所有安装的版本,也可以用 nvm list
nvm ls
# 列出所有可安装的远程node版本
nvm ls-remote
# 安装最新稳定版本
nvm install stable
# 显示当前使用的版本
nvm current
# 查看 nvm 版本
nvm -v
相关推荐
- 离谱!写了5年Vue,还不会自动化测试?
-
前言大家好,我是倔强青铜三。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。Playwright是一个功能强大的端到...
- package.json 与 package-lock.json 的关系
-
模块化开发在前端越来越流行,使用node和npm可以很方便的下载管理项目所需的依赖模块。package.json用来描述项目及项目所依赖的模块信息。那package-lock.json和...
- Github 标星35k 的 SpringBoot整合acvtiviti开源分享,看完献上膝盖
-
前言activiti是目前比较流行的工作流框架,但是activiti学起来还是费劲,还是有点难度的,如何整合在线编辑器,如何和业务表单绑定,如何和系统权限绑定,这些问题都是要考虑到的,不是说纯粹的把a...
- Vue3 + TypeScript 前端研发模板仓库
-
我们把这个Vue3+TypeScript前端研发模板仓库的初始化脚本一次性补全到可直接运行的状态,包括:完整的目录结构所有配置文件研发规范文档示例功能模块(ExampleFeature)...
- Vue 2迁移Vue 3:从响应式到性能优化
-
小伙伴们注意啦!Vue2已经在2023年底正式停止维护,再不升级就要面临安全漏洞没人管的风险啦!而且Vue3带来的性能提升可不是一点点——渲染速度快40%,内存占用少一半,更新速度直接翻倍!还在...
- VUE学习笔记:声明式渲染详解,对比WEB与VUE
-
声明式渲染是指使用简洁的模板语法,声明式的方式将数据渲染进DOM系统。声明式是相对于编程式而言,声明式是面向对象的,告诉框架做什么,具体操作由框架完成。编程式是面向过程思想,需要手动编写代码完成具...
- 苏州web前端培训班, 苏州哪里有web前端工程师培训
-
前端+HTML5德学习内容:第一阶段:前端页面重构:PC端网站布局、HTML5+CSS3基础项目、WebAPP页面布局;第二阶段:高级程序设计:原生交互功能开发、面向对象开发与ES5/ES6、工具库...
- 跟我一起开发微信小程序——扩展组件的代码提示补全
-
用户自定义代码块步骤:1.HBuilderX中工具栏:工具-代码块设置-vue代码块2.通过“1”步骤打开设置文件...
- JimuReport 积木报表 v1.9.3发布,免费可视化报表
-
项目介绍积木报表JimuReport,是一款免费的数据可视化报表,含报表、大屏和仪表盘,像搭建积木一样完全在线设计!功能涵盖:数据报表、打印设计、图表报表、门户设计、大屏设计等!...
- 软开企服开源的无忧企业文档(V2.1.3)产品说明书
-
目录1....
- 一款面向 AI 的下一代富文本编辑器,已开源
-
简介AiEditor是一个面向AI的下一代富文本编辑器。开箱即用、支持所有前端框架、支持Markdown书写模式什么是AiEditor?AiEditor是一个面向AI的下一代富文本编辑...
- 玩转Markdown(2)——抽象语法树的提取与操纵
-
上一篇玩转Markdown——数据的分离存储与组件的原生渲染发布,转眼已经鸽了大半年了。最近在操纵mdast生成md文件的时候,心血来潮,把玩转Markdown(2)给补上了。...
- DeepseekR1+ollama+dify1.0.0搭建企业/个人知识库(入门避坑版)
-
找了网上的视频和相关文档看了之后,可能由于版本不对或文档格式不对,很容易走弯路,看完这一章,可以让你少踩三天的坑。步骤和注意事项我一一列出来:1,前提条件是在你的电脑上已配置好ollama,dify1...
- 升级JDK17的理由,核心是降低GC时间
-
升级前后对比升级方法...
- 一个vsCode格式化插件_vscode格式化插件缩进量
-
ESlint...
你 发表评论:
欢迎- 一周热门
-
-
MySQL中这14个小玩意,让人眼前一亮!
-
旗舰机新标杆 OPPO Find X2系列正式发布 售价5499元起
-
【VueTorrent】一款吊炸天的qBittorrent主题,人人都可用
-
面试官:使用int类型做加减操作,是线程安全吗
-
C++编程知识:ToString()字符串转换你用正确了吗?
-
【Spring Boot】WebSocket 的 6 种集成方式
-
PyTorch 深度学习实战(26):多目标强化学习Multi-Objective RL
-
pytorch中的 scatter_()函数使用和详解
-
与 Java 17 相比,Java 21 究竟有多快?
-
基于TensorRT_LLM的大模型推理加速与OpenAI兼容服务优化
-
- 最近发表
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)