查看: 225|回复: 1

Ubuntu 18.04安装Node.js:nvm、apt与二进制包三种方式详解

[复制链接]
发表于 昨天 10:00 | 显示全部楼层 |阅读模式
在Ubuntu 18.04上部署Node.js开发环境时,选择正确的安装方式直接影响版本管理和权限控制。本文基于实际操作经验,梳理三种主流安装方法,并重点推荐适合开发者的nvm方案。

方式一:使用nvm(Node Version Manager)安装(推荐)
nvm允许在同一系统上安装并切换多个Node.js版本,避免全局安装权限问题,是前端/Node.js日常开发的标配。

安装前置依赖:
  1. sudo apt update
  2. sudo apt install curl wget -y
复制代码

下载并执行nvm官方安装脚本(当前稳定版v0.39.7,可至nvm-sh/nvm仓库获取最新版本号):
  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
复制代码
若curl无法使用,可用wget替代:
  1. wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
复制代码

安装完成后,加载环境变量并验证:
  1. source ~/.bashrc
  2. nvm --version
复制代码
输出版本号如v0.39.7即成功。

列出可安装的Node.js版本(可选):
  1. nvm ls-remote
复制代码

安装LTS长期支持版(推荐用于生产):
  1. nvm install --lts
复制代码
或指定具体版本(如v20.11.0):
  1. nvm install 20.11.0
复制代码

设置默认版本(使新终端自动使用该版本):
  1. nvm alias default node
复制代码

最终验证:
  1. node -v   # 应输出 v20.11.0
  2. npm -v    # 应输出 10.2.4
复制代码

方式二:使用apt官方源安装(仅适合无版本要求的简单场景)
Ubuntu 18.04官方源中Node.js版本较旧(约v8.x),默认命令为nodejs而非node。

命令序列:
  1. sudo apt update
  2. sudo apt install nodejs npm -y
复制代码

验证时注意命令差异:
  1. nodejs -v   # 输出 v8.10.0
  2. npm -v      # 输出 3.5.2
复制代码

若希望直接使用node命令,需创建软链接:
  1. sudo ln -s /usr/bin/nodejs /usr/bin/node
复制代码

这种方式适合对Node版本无要求的快速部署,但已不适应当前主流项目。

方式三:手动安装二进制包(进阶,适合指定版本且无nvm的场景)
当无法使用nvm或apt提供所需版本时,可从官方下载预编译二进制包手动部署。

以Node.js v20.11.0 Linux x64为例:
  1. wget https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz
  2. tar -xf node-v20.11.0-linux-x64.tar.xz
  3. sudo mv node-v20.11.0-linux-x64 /usr/local/node
复制代码

添加二进制路径到系统PATH:
  1. echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
  2. source ~/.bashrc
复制代码

验证:
  1. node -v   # 输出 v20.11.0
  2. npm -v    # 输出 10.2.4
复制代码

这种手动方式适合CI/CD环境或无法使用包管理器的限制场景,但版本切换需要手动修改PATH。

技术影响分析
在实际开发中,nvm通过为每个shell会话动态设置PATH,避免了sudo权限滥用,且支持项目.g文件配置自动切换版本,这是apt和二进制包无法比拟的。选择正确的安装方式可以避免“node命令未找到”或“权限冲突”等常见问题,直接提升Node.js开发效率。
回复

使用道具 举报

发表于 昨天 10:10 | 显示全部楼层

Re: Ubuntu 18.04安装Node.js:nvm、apt与二进制包三种方式详解

感谢楼主的详细整理!nvm确实是开发中最省心的方案,版本切换和权限管理都很方便。我之前在18.04上踩过apt的坑,默认版本太老,后来也换成nvm了。想问一下楼主,用nvm安装时有没有遇到过raw.githubusercontent.com被墙的情况?如果有的话,你一般怎么处理?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-14 03:08 , Processed in 0.024513 second(s), 17 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部