mac和windows上安装nvm管理node版本

news2024/12/24 8:41:19

NVM 是 node version manager 的缩写,它是一个用来管理电脑上 node 版本的命令行工具,在日常前端开发中是一个跟 node 一样会经常用到的工具,可以很方便的让我们快速切换不同的node版本。
在这里插入图片描述

mac 上安装 nvm

1、下载安装 nvm

下载安装可以直接使用官方推荐的 cURL or Wget 命令,可以参考 nvm 官方仓库里的说明:

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 上那么麻烦。直接在官方下载地址中下载 nvm-setup.exe 这个文件:
在这里插入图片描述
然后直接点击这个 exe 安装文件跟着提示点就行了。

常用 nvm 命令

## 安装指定版本,版本号可模糊指定:nvm install v16.6.0、nvm install 16.6
nvm install <version>

# 卸载指定版本
nvm uninstall <version>

# 切换到某个版本
nvm use <version>

# 列出本地所有安装的版本,也可以用 nvm list
nvm ls

# 列出所有可安装的远程node版本
nvm ls-remote

# 安装最新稳定版本
nvm install stable

# 显示当前使用的版本
nvm current

# 查看 nvm 版本
nvm -v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2062022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)

目录 &#x1f354; 逻辑回归应用场景 &#x1f354; 极大似然估计 2.1 为什么要有极大似然估计&#xff1f; 2.2 极大似然估计步骤 2.3 极大似然估计的例子 &#x1f354; Sigmod函数模型 3.1 逻辑斯特函数的由来 3.2 Sigmod函数绘图 3.3 进一步探究-加入线性回归 3…

【爬虫】 使用AI编写B站爬虫代码

记录一次&#xff0c;自己不写一行代码&#xff0c;所有的代码全由AI编写的过程。 本次使用的AI工具为&#xff1a;Claude 其他AI工具同理。 首先&#xff0c;观察哔哩哔哩网页的结构&#xff0c;定位到了包含视频信息的关键元素。右键检查或打开F12&#xff0c;找到最左侧的这…

2024前端面试题-js篇

1.js有哪些数据类型 基础数据类型&#xff1a;string,number,boolean&#xff0c;null&#xff0c;undefined&#xff0c;bigInt&#xff0c;symbol 引用数据类型&#xff1a;Object 2.js检测数据类型的方式 typeof&#xff1a;其中数组、对象、null都会被判断为object&…

基于WebSocket打造的一款SSH客户端

引用&#xff1a;Java打造一款SSH客户端&#xff0c;而且已开源_java ssh客户端-CSDN博客 由于原作者是放在Github上&#xff0c;不方便下载&#xff0c;所以下载下来&#xff0c;转存到码云上&#xff0c;地址&#xff1a;https://gitee.com/lfw1024/web-ssh 为了满足一些小白…

计算机毕业设计选题推荐-股票数据可视化分析与预测-Python爬虫

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Windows10拿到shell后远程登录

一、准备工作 kali机&#xff1a;192.168.19.130 win10&#xff1a;192.168.19.133 主机&#xff1a;192.168.1.73&#xff08;自己操作可以在kali上&#xff0c;我这是因为反弹的shell在主机上&#xff09; 二、开启远程登录 1.win10上关闭实时保护&#xff0c;并且运行了…

[C++] C++11详解 (一)

标题&#xff1a;[C] C11详解 (一) 水墨不写bug 目录 前言 一、列表初始化 二、STL的初始化列表&#xff08;initializer_list —— Cplusplus.com&#xff09; 三、声明方式&#xff08;auto、decltype、nullptr&#xff09; 1.auto ​编辑 2.decltype 正文开始&#x…

Spark环境搭建-Local

目录 Local下的角色分布&#xff1a; Anaconda On Linux 安装 (单台服务器) 1.下载安装 2.国内源 下载Spark安装包 1.下载 2.解压 3.环境变量 测试 监控 Local下的角色分布&#xff1a; 资源管理&#xff1a; Master&#xff1a;Local进程本身 Worker&#xff1a;L…

UE5.4 - 编辑器页面和概念术语

目录 一. 打开新项目 二. 主页面 1.菜单栏 2.工具栏 3.视口 4.内容侧滑菜单/内容浏览器 5.底部工具栏 6.大纲 7.细节面板 三. 虚幻引擎术语 四. 进一步的术语 五. 总结 一. 打开新项目 选择 虚幻引擎 -> 库 -> 启动 选择类型,选择示例的项目,可以把这些都选选…

探索WebSocket在ASP.NET Core中的实时通信应用与实现策略

文章目录 前言一、创建 ASP.NET Core 项目二、配置中间件以支持 WebSocket1.启动类Program.cs2.WebSocket连接管理器3.WebSocket事件管理器4.WebSocket连接入口 三、客户端实现总结 前言 在 ASP.NET Core 中集成 WebSocket 是一种实现实时通信的有效方式。WebSocket 提供了一个…

什么是TCP三次握手和四次挥手,TCP协议详细解析!零基础入门到精通,收藏这一篇就够了

TCP是TCP/IP协议族中一个最核心的协议&#xff0c;它向下使用网络层IP协议&#xff0c;向上为应用层HTTP、FTP、SMTP、POP3、SSH、Telnet等协议提供支持。本文给出TCP报文格式的详细说明&#xff0c;介绍网络数据包传递中如何进行地址解析、建立TCP连接的三次握手过程以及断开T…

【docker】使用github action来自动发布项目到dockerhub

本文首发于 ❄️慕雪的寒舍 使用github action来自动发布项目到dockerhub。参考 https://msdemt.github.io/p/github-action-build-docker/ 博客 1.准备工作 1.1 dockerhub token https://hub.docker.com/settings/security 登录dockerhub&#xff0c;在用户的account settin…

【具体数学 Concrete Mathematics】1.1 递归问题 讲义

【具体数学 Concrete Mathematics】1.1 递归问题 导入 本节(1.1、1.1.1-1.1.3)主要围绕《具体数学》第一章 递归问题&#xff08;Recurrent Problems&#xff09;讲义部分的三个问题展开&#xff0c;分别是汉诺塔、平面上的直线以及约瑟夫问题。下面简单介绍一下递归问题和数学…

复数的处理

复数的处理 复数 V V V 定义为在 ( x , y ) (x,y) (x,y)-平面中实数对的有序集合。在这方面&#xff0c;复数可以被视为原点 ( 0 , 0 ) (0,0) (0,0) 上的向量。从这个角度看&#xff0c;复数的加法类似于 ( x , y ) (x,y) (x,y)-平面中向量的加法。 然而&#xff0c;乘法…

Vue3 国际化i18n语言库 网站多语言切换

介绍 在 Vue 3 项目中&#xff0c;国际化&#xff08;i18n&#xff09;是一个常见的需求&#xff0c;它允许你的应用支持多种语言&#xff0c;并根据用户的语言偏好显示相应的内容。为了实现国际化&#xff0c;你可以使用 vue-i18n 这个库&#xff0c;它是 Vue 官方推荐的国际…

vue常见**MS题 [2]

vue问题及理解 1、介绍一下vue2和vue3的区别 ‌Vue2和Vue3的主要区别体现在双向数据绑定原理、生命周期钩子函数、API、多根节点、性能和体积等方面。‌‌双向数据绑定原理‌&#xff1a;Vue2使用Object.defineProperty实现双向数据绑定&#xff0c;而Vue3则利用ES6的Proxy特性…

赚大钱和赚小钱,哪个更累?

最近一直在质疑我在做的项目&#xff0c;虽然有同行做到了很好的成绩&#xff0c;但是我还是质疑。 因为一直在赚小钱&#xff0c;接触到的也是新手、底层客户、墨迹客户。 越是钱少的生意&#xff0c;越不好做&#xff0c;客户越挑剔。 而且赚小钱会消磨人的心智。 前几年…

解决前端访问IIS服务器发生跨域请求报错的方法

现在WEB开发都是前后端分离的模式了&#xff0c;当前端代码访问后端WEB服务器时&#xff0c;经常会发生跨域请求报错的问题。   如果是IIS服务器&#xff0c;可以通过下面的方式轻松解决。   由于出现跨域问题是因为服务器返回的页面在返回头中没有设置“Access-Control-Al…

Servlet---Web会话跟踪 ▎token令牌

▍为什么要进行Web会话跟踪? http请求是无状态的,不携带用户信息的,当用户登录成功后,之后在于服务器交互时,服务器并不知道是哪个用户发送的请求 ▍Web会话跟踪 解决方法:在用户成功登录后,后端向前端响应token令牌(token令牌:用户信息),前端保存token令牌每次访问后端都先…

药店药品进销存管理系统药品出库药品入库药品销售-社区医院药品管理-基于JAVA+vue开发

2.2 业务流程分析 在进行业务流程分析时&#xff0c;需要按照原有信息流动过程&#xff0c;逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求&#xff0c;弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态…