讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux系统安装Node.js环境 nvm版本管理工具用法

梦墨酱_8972

梦墨酱_8972

发布时间:2026-04-11 13:37:25

|

444人浏览过

|

来源于php中文网

原创

Linux下装nvm前必须禁用系统自带node/npm,否则nvm use后node -v仍显示旧版本;需用which node确认路径、mv重命名系统命令、清空~/.npm等残留,并确保shell配置生效。

linux系统安装node.js环境 nvm版本管理工具用法

Linux 下装 nvm 不需要卸载旧 Node,但必须关掉系统自带的 node 和 npm 命令冲突——否则 nvm use 后执行 node -v 仍显示旧版本,这是最常被忽略的坑。

安装前先清理系统级 node 冲突

很多 Linux 发行版(如 Ubuntu/Debian)用 apt install nodejs 装过 Node,它会把 node 命令软链到 /usr/bin/node,而 nvm 管理的 node 在 ~/.nvm/versions/node/ 下。两者共存时,PATH 顺序不对就会优先走系统命令。

  • 运行 which node 和 which npm,如果输出在 /usr/bin/ 或 /usr/local/bin/,说明有冲突
  • 临时禁用:运行 sudo mv /usr/bin/node /usr/bin/node-system(不删,留作回滚)
  • 检查是否还有残留:运行 dpkg -l | grep nodejs(Ubuntu/Debian)或 rpm -qa | grep node(CentOS/RHEL),如有则 sudo apt remove nodejs npm 或 sudo yum remove nodejs npm
  • 别忘了清空 ~/.npm 和 ~/.node-gyp,否则某些 native 模块编译会复用旧头文件

用 curl 安装 nvm(推荐方式)

官方脚本安装最稳定,git clone 或包管理器(如 brew)在 Linux 上反而容易出路径或权限问题。

wechat-article-extraction-mp-weixin-qq-com news-webpage-cleaning blog-post-parsing metadata-extraction-title-author-date multiple-output-formats-markdown-json-plain-text batch-processing-support
wechat-article-extraction-mp-weixin-qq-com news-webpage-cleaning blog-post-parsing metadata-extraction-title-author-date multiple-output-formats-markdown-json-plain-text batch-processing-support

基于三引擎设计,从微信文章、新闻和博客网页提取干净内容,支持标题作者日期元数据,多格式和批量处理。

下载
  • 执行:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash(v0.39.7 是当前稳定版,2026 年仍广泛兼容)
  • 安装后会提示你把三行代码加进 shell 配置文件(~/.bashrc 或 ~/.zshrc),**必须手动 source 一次**:source ~/.bashrc
  • 验证:nvm --version 应输出版本号;command -v nvm 应返回函数定义,不是可执行文件路径
  • 如果报 nvm: command not found,大概率是没 source 或 shell 配置文件没生效(比如你用 zsh 却只改了 .bashrc)

nvm install 选版本要注意 LTS 还是 latest

nvm install 默认装的是最新稳定版(latest),但多数生产项目依赖 LTS 版本(如 20.18.0)。直接写数字可能失败,因为不是所有版本都支持你的 CPU 架构(比如 ARM64 的 arm64 二进制未必同步发布)。

  • 先查可用列表:nvm list-remote(注意是 list-remote,不是 list available——后者是 Windows nvm-windows 的写法)
  • 装 LTS 最新版:nvm install --lts(等价于 nvm install lts/hydrogen)
  • 装指定 LTS 名称:nvm install lts/gallium(Node 18.x)或 nvm install lts/hydrogen(Node 20.x)
  • 装 latest:nvm install node(注意不是 nvm install latest)
  • 装完自动带对应 npm,不用单独装;但 nvm use 后,npm config get prefix 显示的是 ~/.nvm/versions/node/<version>/lib/node_modules,和系统全局隔离

nvm use 不生效?检查 SHELL 和终端会话

最典型的“用了 nvm use 20.18.0,但新打开的终端还是旧版本”,根本原因不是 nvm 本身,而是 shell 初始化机制。

  • nvm use 只影响当前 shell 会话,**不会写入环境变量永久生效**
  • 想每次打开终端都用某版本,得设 alias:nvm alias default 20.18.0,然后新开终端
  • 如果用 VS Code 终端,要关掉再重开,或在设置里勾选 terminal.integrated.env.linux 并确保 shell 配置已加载
  • 某些桌面环境(GNOME/KDE)启动终端时不会读 .bashrc,而是读 .profile,这时要把 nvm 初始化代码也复制进 .profile
  • 执行 nvm current 始终输出 system?说明当前 shell 没被 nvm 管理——检查 which node 是否指向 ~/.nvm/ 下路径

真正麻烦的不是装不上,而是装上了却不知道为什么 node 命令还在走系统路径;多花 30 秒 run which node 和 nvm current,比反复重装快得多。

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

3523

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

795

2023.10.30

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

4156

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1295

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1678

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

9683

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

920

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2524

2023.09.04

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

20

2026.10.10

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

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

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn