Ubuntu 22.04下升级Node.js至最新版本及Next.js项目运行npm run dev时模块缺失问题求助
Ubuntu 22.04下升级Node.js至最新版本及Next.js项目运行npm run dev时模块缺失问题求助
兄弟,我一眼就瞅出问题根源了——你当前用的Node.js版本是14.10.0,而node:path这种带node:前缀的模块导入方式,是Node.js 16.x及以上版本才支持的语法!你手里的npm版本大概率已经更新到依赖这个语法的版本了,所以才会抛出找不到模块的错误。
下面给你一步步说怎么在Ubuntu 22.04上搞定Node.js升级,解决这个问题:
一、用nvm升级(你当前用的是nvm,优先选这个方法)
- 先确认下已安装的Node版本列表,核对当前版本:
nvm ls - 卸载旧的14.10.0版本:
nvm uninstall 14.10.0 - 安装最新的LTS长期支持版Node.js(这个版本更稳定,适合项目开发):
nvm install --lts # 也可以直接装最新稳定版:nvm install stable - 设置新版本为默认使用的版本:
nvm alias default node - 验证升级是否成功:
看到版本号变成16+(比如20.x)就说明成了。node -v npm -v
二、如果不用nvm,用apt包管理器升级(备选方案)
如果你之前是通过apt装的Node,可以这么操作:
- 先彻底卸载旧版本:
sudo apt remove --purge nodejs npm - 添加Node.js官方源:
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - - 安装最新版Node.js:
sudo apt install -y nodejs - 同样验证版本:
node -v和npm -v
最后一步:修复项目依赖
升级完Node和npm后,回到你的Next.js项目目录,先重新装一遍依赖(避免新旧版本的兼容问题):
npm install
然后再运行:
npm run dev
这下应该就能正常启动项目啦!
备注:内容来源于stack exchange,提问作者Rashmika Abeyrathna




