Linux怎么使用NVM多版本Node.js管理工具

云瑶吖_1418

云瑶吖_1418

2026-10-16

567人浏览

原创

nvm可解决多版本共存问题,无需卸载旧版、sudo权限或污染系统node;安装后命令不可用是因shell未加载配置,需检查并source对应rc文件。

linux怎么使用nvm多版本node.js管理工具

直接用 nvm 就能解决多版本共存问题,不用删旧版、不用 sudo、不会污染系统 Node ——前提是它得真正加载进当前 shell。

安装后命令不可用?检查 shell 配置是否生效

很多人执行完 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash 就以为装好了,结果敲 nvm --version 报 “command not found”。这不是安装失败,是 shell 没读到配置。

  • 先确认你用的是什么 shell:echo $SHELL,常见为 /bin/bash 或 /bin/zsh
  • 对应重载配置文件:source ~/.bashrc(Bash)或 source ~/.zshrc(Zsh)
  • 如果仍不行,检查配置文件末尾是否真有这三行(nvm 安装脚本应自动写入):
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
  • 别漏掉 \.(点空格),写成 source 也可能失败,nvm.sh 要求用 . 加载

安装和切换版本时的常见陷阱

nvm install 和 nvm use 看似简单,但几个细节不注意就会卡住:

dmap-jsapi-skill
dmap-jsapi-skill

DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。

下载
  • nvm install 20 安装的是 20.x 最新版,不是 v20.0.0;想装精确版本得写全:nvm install 20.18.0
  • nvm use 20 只在当前终端生效,新开一个终端还是默认版本;要永久生效,必须配 nvm alias default 20.18.0
  • 如果项目里有 .nvmrc 文件(内容如 20.18.0),进目录后运行 nvm use 会自动切过去 —— 但很多人忘了这步,还在用错版本跑 npm install
  • nvm ls 输出里带 * 的才是当前生效版本;default -> 18 表示默认值设了但没激活,得手动 nvm use 或重启终端

为什么 node -v 和 nvm current 对不上?

这是 PATH 混乱最典型的信号:系统可能还残留着其他 Node 安装路径(比如 apt/yum 装的、手动编译的、或者旧 nvm 版本残留的 ~/.nvm/versions/node 外链接)。

  • 查真实 node 来源:which node 和 readlink -f $(which node)
  • 如果输出类似 /usr/bin/node 或 /opt/node/bin/node,说明没走 nvm;优先删掉这些路径,或确保 ~/.nvm/versions/node/v20.18.0/bin 在 PATH 最前面
  • nvm deactivate 可临时退出 nvm 管理,用来验证是否真被接管;之后再 nvm use 恢复
  • 不要在 ~/.bashrc 里硬写 export PATH=... 插入 node 路径 —— 这会破坏 nvm 的动态 PATH 切换逻辑

最常被忽略的一点:nvm 管理的每个 Node 版本自带独立的 npm,但全局安装的包(如 npm install -g typescript)只对当前 nvm use 的版本可见。切版本后,得重新装一次全局工具,或者改用 npx 避免依赖全局安装。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

2023.09.19

10469

8

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

2025.11.26

434

14

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

2026.02.10

761

17

JavaScript Node.js流处理与高效数据管道构建实践
JavaScript Node.js流处理与高效数据管道构建实践

本专题聚焦 Node.js 在大规模数据处理场景中的应用,系统讲解 Stream 流机制、背压控制、管道(Pipe)处理以及文件与网络数据流的高效传输方式。内容包括可读流、可写流、双工流与转换流的实现原理,并结合实际案例构建高性能数据处理管道,帮助开发者提升数据处理效率与系统吞吐能力。

2026.04.07

324

13

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

2026.06.16

578

8

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4030

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3433

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2613

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6370

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习