Ubuntu下Node.js版本如何升级
Ubuntu 下升级 Node js 的实用方法 在 Ubuntu 上管理 Node js 版本,是开发者绕不开的日常。面对不同的项目需求,是追求稳定还是尝鲜新特性?别担心,下面这几种主流方法,总有一款适合你。 方法一 使用 NVM 进行多版本管理(推荐) 要说灵活,NVM(Node Version
Ubuntu 下升级 Node.js 的实用方法

在 Ubuntu 上管理 Node.js 版本,是开发者绕不开的日常。面对不同的项目需求,是追求稳定还是尝鲜新特性?别担心,下面这几种主流方法,总有一款适合你。
方法一 使用 NVM 进行多版本管理(推荐)
要说灵活,NVM(Node Version Manager)绝对是首选。它允许你在同一台机器上安装和切换多个 Node.js 版本,彼此隔离,互不影响,特别适合多项目并行开发和团队协作。
- 安装或更新 NVM(Node Version Manager):
- 执行安装脚本并加载到当前会话:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc # 如使用 zsh 则执行:source ~/.zshrc
- 执行安装脚本并加载到当前会话:
- 查看并安装目标版本:
nvm ls-remote # 查看远程可用版本 nvm install --lts # 安装最新 LTS nvm install 22 # 安装指定主版本(示例:22) nvm install 18.18.2 # 安装精确版本(示例) - 切换与使用:
nvm use --lts # 临时使用 LTS nvm use 22 # 临时使用指定版本 nvm alias default 22 # 设置默认版本,新终端自动生效 - 验证:
node -v npm -v
方法二 使用 NodeSource 的 APT 仓库升级(系统级)
如果你追求的是系统级的统一和简洁,那么通过 NodeSource 的官方 APT 仓库来安装,是个不错的思路。这种方法适合生产环境,或者你希望整个系统只使用一个确定的版本。
- 更新索引并添加 NodeSource 仓库(以 Node.js 22.x 为例,其他版本将 22.x 替换为目标主版本):
sudo apt update curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - - 安装或升级 nodejs(此操作会替换旧版本):
sudo apt install -y nodejs - 验证:
node -v npm -v
值得注意的是,如果你想从旧版本进行一个干净的升级,可以先执行 sudo apt remove --purge nodejs npm 彻底移除旧版,然后再安装新版本。
方法三 使用 n 或 fnm 等版本管理工具
除了 NVM,社区里还有其他轻量级的选择,比如 n 和 fnm。它们同样支持多版本切换,在某些场景下可能更符合你的使用习惯。
- 使用 n(需已安装 Node.js 与 npm):
sudo npm install -g n n lts # 安装最新 LTS n 22 # 安装指定主版本 n # 交互式选择已安装版本 sudo n lts # 在部分系统上可能需要 sudo 写入 /usr/local - 使用 fnm(跨平台、速度快):
curl -fsSL https://fnm.vercel.app/install | bash source ~/.bashrc fnm install --lts fnm use --lts fnm default 22
简单来说,n 和 fnm 都是优秀的版本管理工具,适合在 Linux 或 macOS 上作为现有环境的补充或替代方案。
升级后的兼容性与最佳实践
版本升级成功只是第一步,确保项目稳定运行才是关键。这里有几个小贴士:
- 在项目中固定版本: 强烈建议在项目根目录创建一个
.nvmrc文件(例如写入22或lts/*)。这样,进入项目目录后,只需运行nvm use,就能自动切换到指定版本,确保团队成员和 CI/CD 环境的一致性。 - 全局包迁移: 切换 Node 主版本后,全局安装的包不会自动跟随。一个可行的迁移思路是:
npm list -g --depth=0 > global-before.txt # 切换 Node 版本后 npm install -g $(cat global-before.txt | awk '{print $2}') - 验证与回退: 升级后,别忘了用
node -v和npm -v确认版本,并跑一遍你的项目测试。万一出现兼容性问题也别慌,使用nvm use <旧版本>或fnm use <旧版本>可以快速回退到之前的稳定状态。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
IDEA中SpringBoot项目热部署实现指南
Springboot项目在IDEA中实现热部署需依次完成:开启自动编译(静态与动态编译)、启用热部署策略、引入spring-boot-devtools依赖、关闭浏览器缓存,最后启动测试即可生效,省去手动重启时间,大幅提升开发效率。
Java实现Excel转JSON的代码详解
使用Java结合FreeSpire XLS库可自动将Excel转为JSON,通过读取工作表并映射为键值对,高效支持数据迁移、报表导出与系统对接,大幅提升效率并消除手动录入错误。
Golang高效布谷鸟过滤器多字符集字符串过滤
布谷鸟过滤器支持删除操作,通过指纹截断与双哈希定位实现多字符集高效过滤。指纹截断需采用fnv64a或xxhash快速哈希并取低8位,桶索引使用独立双哈希避免假阳性。并发安全需以固定数组配合sync atomic实现。
Java使用Poi-tl按Word模板生成动态表格
Poi-tl是Word导出工具,文档周全,支持多级合并表头生成。通过{{text}}、{{?var}}、{{ table}}标签处理模板,传入TableRenderData对象即可动态渲染表格。示例展示用户信息表格生成,并提供工具类消除表格首行缩进,确保格式正确。
Go语言微服务集成Swagger生成交互式API文档完整教程
在Go微服务中集成Swagger常见四大问题:swaginit初始化失败需确保存在packagemain及注释;SwaggerUI加载失败因路由映射错误或未导入docs;@Param注解必须严格遵循格式;部署后接口文档显示localhost因硬编码host,应删除或通过环境变量动态注入。
- 热门数据榜
相关攻略
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:46
2026-07-11 06:46
2026-07-11 06:46
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

