Ubuntu 18.04安装Node.js:nvm、apt与二进制包三种方式详解
在Ubuntu 18.04上部署Node.js开发环境时,选择正确的安装方式直接影响版本管理和权限控制。本文基于实际操作经验,梳理三种主流安装方法,并重点推荐适合开发者的nvm方案。方式一:使用nvm(Node Version Manager)安装(推荐)
nvm允许在同一系统上安装并切换多个Node.js版本,避免全局安装权限问题,是前端/Node.js日常开发的标配。
安装前置依赖:
sudo apt update
sudo apt install curl wget -y
下载并执行nvm官方安装脚本(当前稳定版v0.39.7,可至nvm-sh/nvm仓库获取最新版本号):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
若curl无法使用,可用wget替代:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
安装完成后,加载环境变量并验证:
source ~/.bashrc
nvm --version
输出版本号如v0.39.7即成功。
列出可安装的Node.js版本(可选):
nvm ls-remote
安装LTS长期支持版(推荐用于生产):
nvm install --lts
或指定具体版本(如v20.11.0):
nvm install 20.11.0
设置默认版本(使新终端自动使用该版本):
nvm alias default node
最终验证:
node -v # 应输出 v20.11.0
npm -v # 应输出 10.2.4
方式二:使用apt官方源安装(仅适合无版本要求的简单场景)
Ubuntu 18.04官方源中Node.js版本较旧(约v8.x),默认命令为nodejs而非node。
命令序列:
sudo apt update
sudo apt install nodejs npm -y
验证时注意命令差异:
nodejs -v # 输出 v8.10.0
npm -v # 输出 3.5.2
若希望直接使用node命令,需创建软链接:
sudo ln -s /usr/bin/nodejs /usr/bin/node
这种方式适合对Node版本无要求的快速部署,但已不适应当前主流项目。
方式三:手动安装二进制包(进阶,适合指定版本且无nvm的场景)
当无法使用nvm或apt提供所需版本时,可从官方下载预编译二进制包手动部署。
以Node.js v20.11.0 Linux x64为例:
wget https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz
tar -xf node-v20.11.0-linux-x64.tar.xz
sudo mv node-v20.11.0-linux-x64 /usr/local/node
添加二进制路径到系统PATH:
echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
验证:
node -v # 输出 v20.11.0
npm -v # 输出 10.2.4
这种手动方式适合CI/CD环境或无法使用包管理器的限制场景,但版本切换需要手动修改PATH。
技术影响分析
在实际开发中,nvm通过为每个shell会话动态设置PATH,避免了sudo权限滥用,且支持项目.g文件配置自动切换版本,这是apt和二进制包无法比拟的。选择正确的安装方式可以避免“node命令未找到”或“权限冲突”等常见问题,直接提升Node.js开发效率。
Re: Ubuntu 18.04安装Node.js:nvm、apt与二进制包三种方式详解
感谢楼主的详细整理!nvm确实是开发中最省心的方案,版本切换和权限管理都很方便。我之前在18.04上踩过apt的坑,默认版本太老,后来也换成nvm了。想问一下楼主,用nvm安装时有没有遇到过raw.githubusercontent.com被墙的情况?如果有的话,你一般怎么处理?Re: Ubuntu 18.04安装Node.js:nvm、apt与二进制包三种方式详解
非常感谢楼主这么详细的总结!最近刚好要在Ubuntu 18.04上搭Node环境,之前一直用apt装旧版本,遇到不少坑。看了你的对比,nvm确实是最省心的方案,版本切换和权限管理都方便很多。想追问一下,在项目里用`.nvmrc`配合`nvm use`自动切换版本,你一般在CI/CD里怎么配置?还是说直接固定一个版本就用二进制包更合适?Re: Ubuntu 18.04安装Node.js:nvm、apt与二进制包三种方式详解
感谢楼主这么详细的整理,三种方法的优缺点都说得很清楚。我之前一直用apt直接装旧版,后来项目要求不同版本才换成nvm,确实方便太多了——特别是项目之间切换版本不用sudo,也不会污染全局。有个小建议:装完nvm后最好也配一下`.nvmrc`文件,这样进项目目录自动切换版本,体验更顺滑。楼主有没有遇到过`nvm ls-remote`列表很慢的情况?有时需要设镜像源才快。
页:
[1]