Ubuntu 更新 JS 环境记录

今天在 Ubuntu 上折腾了一下 JavaScript 开发环境,顺手记个笔记,免得以后重装系统或者换机器的时候又得重新查一遍。

一开始我说的是"更新 JS",后来查了一下才发现,这种说法其实不太准确。平时在 Ubuntu 里真正更新的,主要还是 Node.jsnpm。因为 JavaScript 本身不是单独安装的,真正跑 JS 的一般是 Node.js 这一套环境。

所以这篇就当作我自己的安装记录,后面直接照着操作就行。


1. 先看当前版本

先确认一下系统里有没有装 Node.js 和 npm:

bash 复制代码
node -v
npm -v

如果能看到版本号,说明系统里已经有环境了。

如果提示 command not found,那就说明还没装,需要重新安装。

我一般在正式动手之前,都会先看一下当前版本,避免自己都不知道系统里现在到底是个什么状态。


2. 我现在更推荐用 nvm

这次整理下来,我还是觉得 nvm 最省心。

原因也很直接:

  • 可以安装多个 Node.js 版本
  • 切换版本很方便
  • 不容易把系统环境搞乱
  • 特别适合本地开发

如果是我自己的 Ubuntu 开发机,我基本都会优先选 nvm,而不是直接用系统自带的软件源去装。


3. 安装 nvm

安装命令如下:

bash 复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

装完之后,为了让它在当前终端里立即生效,我执行:

bash 复制代码
source ~/.bashrc

如果我用的是 zsh,那可能要执行这个:

bash 复制代码
source ~/.zshrc

然后我会顺手确认一下 nvm 有没有装成功:

bash 复制代码
nvm --version

能看到版本号就说明没问题。


4. 安装 Node.js

如果我想直接装最新版,可以这样:

bash 复制代码
nvm install node
nvm use node
nvm alias default node

这里的 node 表示最新版本。

执行完之后,我再检查一下:

bash 复制代码
node -v
npm -v

这样就能确认 Node.js 和 npm 已经装好了。


5. 如果想求稳,我更倾向于装 LTS

虽然最新版看起来很新,但很多时候其实没必要追最新。

尤其是平时做项目,稳定比新更重要,所以我一般更倾向于装 LTS(长期支持版)

命令如下:

bash 复制代码
nvm install --lts
nvm use --lts
nvm alias default lts/*

这套我自己觉得是最省心的方案。

如果没有特殊需求,我以后大概率都会直接用这个。


6. 以后更新 Node.js 怎么做

如果之前已经装好了 nvm,那后面更新就简单很多。

更新到最新版

bash 复制代码
nvm install node --reinstall-packages-from=node

这个命令的意思大概是:

  • 安装最新的 Node.js
  • 尽量把旧版本里全局安装过的 npm 包一起带过来

如果我是想更新到新的 LTS 版本,那我一般会这样写:

bash 复制代码
nvm install --lts --reinstall-packages-from=current
nvm use --lts
nvm alias default lts/*

这样比较顺手,也不用重新装一遍常用的全局工具。


7. 如果不用 nvm,也可以用 apt

如果系统里的 Node.js 是以前通过 apt 装的,那也可以直接这样更新:

bash 复制代码
sudo apt update
sudo apt upgrade nodejs npm

不过这个方法我现在一般不太优先用了。

原因也很简单:

Ubuntu 自带软件源里的 Node.js 往往比较老。

也就是说,这样虽然方便,但不一定能更新到自己想要的新版本。

如果只是简单维护一下系统,这么做也没问题;但如果我要做前端开发或者跑一些新项目,那我还是更愿意用 nvm。


8. 想用 apt 装新一点的版本,可以用 NodeSource

如果我不想用 nvm,但又想通过 apt 安装一个更新一点的 Node.js,那我会考虑 NodeSource

安装 LTS 版本的命令如下:

bash 复制代码
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

装完之后照样检查版本:

bash 复制代码
node -v
npm -v

这种方式我觉得更适合服务器,或者那种不太需要频繁切换版本的环境。


9. 如果只是 npm 老了,也可以单独更新

有时候 Node.js 本身没啥问题,只是 npm 比较旧,这种情况也可以单独升级 npm:

bash 复制代码
npm install -g npm@latest

然后再看一下版本:

bash 复制代码
npm -v

不过这里也得记一下:

如果 Node.js 版本太老,最新的 npm 可能不一定兼容。

所以真要升级的话,最好还是一起考虑,不要只盯着 npm。


10. 这次折腾完之后,我自己的结论

这次整理完之后,我对 Ubuntu 上 Node.js 环境的安装思路也更明确了。

本地开发环境

我推荐:

  • nvm
  • LTS 版本

原因就是稳定、干净、切换方便。

服务器环境

我更倾向于:

  • NodeSource
  • 或者直接装固定版本

因为服务器更强调稳定和可控,不一定需要来回切版本。

尽量不要混着装

这个我觉得非常重要,所以单独记一下。

比如下面这种情况就很容易出问题:

  • 一开始用 apt 装了 Node.js
  • 后来又用 nvm 装了一套
  • 再后面又手动升级了 npm

这样搞几次之后,很容易连自己都搞不清楚系统到底在用哪个 node、哪个 npm

所以我现在的想法是:

从一开始就选一种方式,然后一直沿用,不要混装。


11. 我以后大概率就按这个流程来

如果以后我要重装 Ubuntu,或者新开一台开发机,我大概率会直接这样做。

第一步:安装 nvm

bash 复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc

第二步:安装 LTS 版本 Node.js

bash 复制代码
nvm install --lts
nvm use --lts
nvm alias default lts/*

第三步:检查环境

bash 复制代码
node -v
npm -v
nvm --version

到这里基本就算搞定了。


12. 最后总结一下

这次所谓的"更新 JS",本质上其实就是更新:

  • Node.js
  • npm

我自己现在最推荐的方案还是:

bash 复制代码
nvm + LTS

原因很简单:

  • 装起来方便
  • 用起来稳定
  • 不容易把环境搞乱
  • 以后升级也省事
相关推荐
面对疾风叭!哈撒给17 分钟前
Linux ARM架构的docker和docker-compose离线安装
linux·docker·架构
阿虎儿39 分钟前
Linux 下为局域网 IP(如 192.168.1.100)打造不受浏览器警告的自签名 SSL/TLS 证书
linux·安全·https
写不来代码的草莓熊1 小时前
Cesium 地图交互绘制圆形、多边形
前端·javascript·地图
小王C语言1 小时前
虚拟机开机过程中关机,再次开机没有分配 IP
linux·网络·tcp/ip
诸葛老刘1 小时前
Ubuntu 服务器常用运维命令
运维·服务器·ubuntu
薛定谔的悦1 小时前
光储系统 AEMS 模块的光伏控制模式设计
linux·能源·储能·bms
JackSparrow4142 小时前
前端安全之JS混淆+请求加密+请求签名以提升爬虫难度
前端·javascript·后端·爬虫·python·安全
码农客栈2 小时前
U-Boot详解(三)之启动流程详解
linux·uboot
say_fall2 小时前
【Linux系统编程】文件操作基础:C标准库、系统调用、fd是什么和fd与FILE*的关系
android·linux·c语言
邪修king2 小时前
Re:Linux系统篇(六):动静态库 & 链接机制【完整透彻版】
linux·运维·服务器