使用 nvm 管理 node 版本:如何在 macOS 和 Windows 上安装使用nvm

在这里插入图片描述

🔥 个人主页:空白诗

在这里插入图片描述

文章目录

    • 一、引言
    • 二、nvm的安装与基本使用
      • 2.1 macOS安装nvm
        • 2.1.1 使用 `curl` 安装
        • 2.1.2 使用 Homebrew 安装
      • 2.2 Windows安装nvm
        • 2.2.1 下载 nvm-windows
        • 2.2.2 安装 nvm-windows
      • 2.3 安装node
      • 2.4 切换node版本
    • 三、常见问题及解决方案
      • 问题1:关闭终端后找不到node
      • 问题2:nvm命令找不到
      • 问题3:无法安装特定版本的node
    • 四、总结


在这里插入图片描述

一、引言

在开发 JavaScript 应用时,node 是一个重要的运行环境,而 nvm(Node Version Manager)是管理node版本的利器。

nvm允许我们在同一台计算机上安装和切换多个node版本,极大地提高了开发效率和灵活性。

尽管nvm功能强大,但在使用过程中可能会遇到一些问题和坑。本文将介绍nvm的基本使用方法,并解决一些常见的问题,例如安装node后,使用nvm切换版本成功,但关闭终端后无法找到node的问题等等。


二、nvm的安装与基本使用

2.1 macOS安装nvm

在macOS上,您可以通过以下两种主要方式来安装nvm:使用curlHomebrew

2.1.1 使用 curl 安装

打开终端,运行以下命令下载并安装nvm:

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

安装完成后,您需要加载nvm的环境变量。在终端中运行以下命令:

source ~/.nvm/nvm.sh

将这行命令添加到您的shell启动脚本中(例如~/.bash_profile~/.bashrc~/.zshrc),以便每次启动终端时自动加载nvm:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
2.1.2 使用 Homebrew 安装

如果您更喜欢使用Homebrew,可以按以下步骤操作:

  1. 安装 Homebrew(如果尚未安装)

    打开终端,输入以下命令来安装Homebrew(如果您尚未安装它):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 安装 nvm

    使用Homebrew安装nvm:

    brew install nvm
    
  3. 配置环境变量

    Homebrew安装nvm后,您需要将nvm的环境变量添加到您的shell启动脚本中(例如~/.bash_profile~/.bashrc~/.zshrc)。在文件末尾添加以下内容:

    export NVM_DIR="$HOME/.nvm"
    [ -s "$(brew --prefix nvm)/nvm.sh" ] && \. "$(brew --prefix nvm)/nvm.sh"  # This loads nvm
    

    运行以下命令以使更改生效:

    source ~/.bash_profile
    

    或者,对于使用zsh的用户:

    source ~/.zshrc
    

2.2 Windows安装nvm

在Windows上,您可以使用nvm-windows来安装和管理node版本。nvm-windows是nvm的Windows版本,功能类似于macOS和Linux上的nvm。

注意:如果你已经安装了 node ,你需要卸载它,这样在使用不同版本的 node 和从 NPM 注册表安装包时不会导致错误。

2.2.1 下载 nvm-windows

访问nvm-windows的GitHub发布页面,下载最新版本的nvm-setup.exe文件。

在这里插入图片描述

2.2.2 安装 nvm-windows

运行nvm-setup.exe安装程序。安装过程中,您可以选择nvm的安装路径和node的存储路径。

在这里插入图片描述

配置环境变量

安装完成后,nvm-windows会自动配置环境变量。您可以在命令提示符或PowerShell中使用nvm命令。

2.3 安装node

使用nvm安装特定版本的node,例如:

nvm install 18

2.4 切换node版本

安装完毕后,可以使用nvm use命令切换到指定版本:

nvm use 18

验证当前node版本:

node -v

三、常见问题及解决方案

问题1:关闭终端后找不到node

您可能会遇到在终端中使用nvm use 18成功切换到node 18版本,但关闭终端后,再次打开终端时,node版本回到了系统默认的版本,或者node命令找不到。

这个问题通常是由于nvm的环境变量没有正确加载造成的。解决方案如下:

  1. 设置默认版本

    使用 nvm alias default 命令来指定一个默认的node版本。例如,如果您希望每次打开终端时都使用node 18版本,可以运行以下命令:

    nvm alias default 18
    

    这会将node 18设置为nvm的默认版本。

  2. 检查nvm配置

    确保nvm的环境配置在用户的shell启动脚本中。例如,对于bash用户,配置通常在~/.bashrc文件中;对于zsh用户,配置通常在~/.zshrc文件中。您需要确认以下内容存在于您的启动脚本中:

    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    

    对于bash用户,添加完后,可以运行:

    source ~/.bashrc
    

    对于zsh用户,添加完后,可以运行:

    source ~/.zshrc
    
  3. 确认nvm脚本路径

    确保nvm的脚本路径设置正确,并且在您的环境变量中。

    export PATH="$HOME/.nvm/bin:$PATH"
    
  4. 重新启动终端

    有时,简单的重新启动终端可以解决问题,确保配置文件的更改已生效。

问题2:nvm命令找不到

在终端中使用nvm命令时,系统提示nvm: command not found

这个问题可能是由于nvm没有正确安装或环境变量没有正确设置。请按以下步骤检查并修复:

  1. 检查安装

    确保nvm已安装在预期的位置。默认情况下,它应安装在用户主目录的.nvm文件夹中。

  2. 检查环境变量

    确保nvm的环境变量在启动脚本中设置正确。请参阅上面“检查nvm配置”部分,确保相应的配置已添加到您的~/.bash_profile~/.bashrc~/.zshrc中。

  3. 重新安装nvm

    如果以上步骤无法解决问题,尝试重新安装nvm。首先删除现有安装:

    rm -rf ~/.nvm
    

    然后按照官方文档重新安装nvm。

问题3:无法安装特定版本的node

使用nvm install安装node版本时,出现错误或安装失败。

  1. 检查nvm版本

    确保使用的nvm版本是最新的。更新nvm可以解决一些兼容性问题:

    nvm install --lts
    
  2. 检查网络连接

    有时,网络问题可能导致下载失败。确保您的网络连接稳定,并尝试重新安装。

  3. 查看错误信息

    阅读错误信息并根据提示进行故障排除。常见问题包括权限问题或依赖包缺失等。


四、总结

nvm是一个强大的工具,可以帮助您轻松管理和切换不同版本的node。

在使用nvm时,了解一些常见问题及其解决方案,将有助于提高开发效率并减少不必要的麻烦。

通过本文的介绍,您应该能够解决大部分与nvm相关的问题,并顺利地在项目中使用nvm进行版本管理。希望这些信息对您的开发工作有所帮助!

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

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

相关文章

2024年数学建模比赛题目及解题代码

目录 一、引言 1. 1竞赛背景介绍 1.1.1数学建模竞赛概述 1.1.2生产过程决策问题在竞赛中的重要性 1.2 解题前准备 1.2.2 工具与资源准备 1.2.3 心态调整与策略规划 二、问题理解与分析 三、模型构建与求解 3.1 模型选择与设计 3.1.1 根据问题特性选择合适的数学模型类…

鸿蒙OpenHarmony【轻量系统芯片移植案例】标准系统方案之扬帆移植案例

标准系统方案之扬帆移植案例 ​ 本文章是基于瑞芯微RK3399芯片的yangfan开发板,进行标准系统相关功能的移植,主要包括产品配置添加,内核启动、升级,音频ADM化,Camera,TP,LCD,WIFI&a…

观成科技:新版suo5隧道工具加密流量跟踪分析

1、工具简介 suo5是一个高性能的http隧道代理工具,支持全双工半双工模式,具有很高的传输性能,现在越来越多的webshell管理工具与内存马生成工具都支持了生成suo5木马的功能。从v1.1.0版本开始,其TLS协议传输功能中,增…

青海省基础地理矢量数据

青海是长江、黄河、沧澜江的发源地,因此被誉为“三江源”和“中华水塔”,具有全球独一无二的生态地位。青海省拥有丰富的水资源和生物多样性,对维护亚洲的水资源和生态平衡具有重要作用。 该数据集涵盖了青海省内的主要地理要素,包…

聚焦汽车智能化与电动化,亚洲领先的汽车工业技术博览会 2025年11月与您相约 AUTO TECH 华南展

抢占市场先机︱聚焦汽车智能化与电动化,亚洲领先的汽车工业技术博览会 2025年11月与您相约 AUTO TECH 华南展 随着汽车智能化与电动化的迅猛发展,汽车电子技术、车用功率半导体技术、智能座舱技术、轻量化技术/材料、软件定义汽车、EV/HV技术、测试测量技…

deepspeed安装报错 No module named ‘dskernels‘解决

pip install deepseek安装报错 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/61/e6/04e2f2de08253e6b779fe7706f2e06d8fb48353e1d33a2fd7805062213d4/deepspeed-0.12.3.tar.gz (1.2 MB)Preparing metadata (setup.py) ... errorerror: subprocess-exited-with-err…

透明屏幕有普通屏幕有哪些优点

针对透明玻璃屏幕的安装方案,我们需要综合考虑多个因素,包括安装环境、屏幕尺寸、重量、安全要求以及视觉效果等。以下是一个概括性的安装方案框架,供您参考: 一、前期准备 1.1 需求分析 明确透明玻璃屏幕的使用场景&#xff08…

C++速通LeetCode中等第4题-三数之和

解题思路&#xff1a;先排序&#xff0c;固定第一个数&#xff0c;用两个指针分别指向右侧剩余数列的两端&#xff0c;右侧向左移动直到两指针重合&#xff0c;看三数合有没有解&#xff0c;指针遇到相同数字跳过。 class Solution { public:vector<vector<int>> …

【数据库】MySQL内置函数

本篇分享一些在MySQL中常见的一些内置函数&#xff0c;如日期函数&#xff0c;字符串函数和数学函数&#xff0c;以方便于操作数据库中的数据。 1.日期函数 我们先整体观察一下这些函数再讲解案例 日期函数使用起来都非常就简单 获得年月日&#xff1a; select current_dat…

为解决bypy大文件上传报错—获取百度云文件直链并使用Aria2上传文件至服务器

问题描述 一方面组内的服务器的带宽比较小&#xff0c;另一方面使用bypy方式进行大文件(大于15G)上传时会报错&#xff08;虽然有时可以成功上传&#xff0c;但是不稳定&#xff09;&#xff1a; 解决方式 总体思路: 获得云盘需要下载文件的直链复制直链到服务器中使用自带…

24年蓝桥杯及攻防世界赛题-MISC-3

21 reverseMe 复制图片&#xff0c;在线ocr识别&#xff0c;https://ocr.wdku.net/&#xff0c;都不费眼睛。 22 misc_pic_again ┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc/zsteg] └─$ zsteg misc_pic_again.png imagedata … text: “$$KaTeX parse error: Undefined…

Excel快速填充颜色,快捷键真香

大家好&#xff0c;这里是效率办公指南&#xff01; &#x1f3a8; 在Excel中工作时&#xff0c;我们经常需要对单元格进行颜色填充&#xff0c;以突出显示重要数据或增加视觉可读性。今天&#xff0c;我们将分享几种快速填充颜色的方法&#xff0c;帮助你提高工作效率&#x…

Golang使用ReverseProxy实现反向代理

目录 1.源码结构体 2.官方单机示例 3.使用示例 4.简单的http服务&#xff08;用于测试&#xff09; 1.源码结构体 type ReverseProxy struct {// Rewrite 必须是一个函数&#xff0c;用于将请求修改为要使用 Transport 发送的新请求。然后&#xff0c;其响应将原封不动地…

用ASR PRO离线语音芯片和月饼盒做一个会跑会跳会说话的机器狗

中秋节刚过&#xff0c;大家月饼盒应该还有&#xff0c;不要扔&#xff0c;可以做点小玩意。 机器狗的创意来自B站石桥北的视频&#xff0c;他使用了一块ESP32芯片和打印件加四个舵机实现&#xff0c;应该说是比较复杂的&#xff0c;需要有3D打印机打印外壳&#xff0c;还得会…

Linux标准IO-系统调用详解

1.1 系统调用 系统调用&#xff08;system call&#xff09;其实是 Linux 内核提供给应用层的应用编程接口&#xff08;API&#xff09;&#xff0c;是 Linux 应用层进入内核的入口。不止 Linux 系统&#xff0c;所有的操作系统都会向应用层提供系统调用&#xff0c;应用程序通…

【Harmony】轮播图特效,持续更新中。。。。

效果预览 swiper官网例子 Swiper 高度可变化 两边等长露出&#xff0c;跟随手指滑动 Swiper 指示器导航点位于 Swiper 下方 一、官网 例子 参考代码&#xff1a; // xxx.ets class MyDataSource implements IDataSource {private list: number[] []constructor(list: nu…

软考高级:嵌入式系统调度算法 AI 解读

嵌入式系统中的调度算法用于管理任务的执行顺序&#xff0c;确保系统资源能够有效分配。以下是几种常见的调度算法的通俗讲解。 生活化例子 想象你是一位超市收银员&#xff0c;有很多顾客排队&#xff0c;每位顾客都可以看作一个任务&#xff0c;收银台就是你的处理器。你需…

PostgreSQL技术内幕10:PostgreSQL事务原理解析-日志模块介绍

文章目录 0.简介1.PG日志介绍2.事务日志介绍3.WAL分析3.1 WAL概述3.2 WAL设计考虑3.2.1 存储格式3.2.2 实现方式3.2.3 数据完整性校验3.3 check ponit 4.事务提交日志&#xff08;CLOG&#xff09;4.1 clog存储使用介绍4.2 slru缓冲池并发控制 0.简介 本文将延续上一篇文章内容…

【无标题】Java_Se 数据变量与运算符

标识符、变量、常量、数据类型、运算符、基本数据类型的类型转换等。这些是编程中的“砖块”&#xff0c;是编程的基础。要想开始正式编程&#xff0c;还需要再学“控制语句”&#xff0c;控制语句就像“水泥”&#xff0c;可以把“砖块”粘到一起&#xff0c;最终形成“一座大…

华为OD机试 - 二维伞的雨滴效应(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…