Ubuntu环境下Yarn报错:Cannot find module 'fs/promises'求助
解决Yarn执行时“fs/promises is not installed”报错的问题
- 核心原因:
fs/promises是Node.js的内置模块,无需单独安装。报错的本质是你的Node.js版本过低(低于v14.0.0),不支持该模块的直接导入语法。
解决步骤
检查当前Node.js版本
执行命令查看版本:node --version如果输出的版本号小于
v14.0.0,必须升级Node.js。升级Node.js(Linux环境推荐两种方式)
方式一:使用nvm管理多版本(推荐)
nvm可以轻松切换不同Node.js版本,避免系统包冲突:
- 安装nvm(执行官方脚本):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash - 重启终端后,安装长期支持版Node.js:
nvm install --lts - 切换到刚安装的版本:
nvm use --lts
方式二:通过系统包管理器直接升级(Debian/Ubuntu系为例)
- 卸载旧版本Node.js及依赖:
sudo apt purge nodejs npm -y sudo apt autoremove -y && sudo apt autoclean - 添加Node.js官方仓库(以v20长期支持版为例):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash - - 安装新版本Node.js:
sudo apt install -y nodejs
- 安装nvm(执行官方脚本):
验证修复效果
再次执行node --version确认版本≥v14.0.0,随后重新运行Yarn命令,报错应消失。
补充说明
- 全局安装
Promises完全无效,因为fs/promises并非第三方npm包,是Node.js原生提供的模块; - 重装corepack和Yarn无法解决问题,因为根源是Node.js版本与Yarn的兼容性不匹配。
内容的提问来源于stack exchange,提问作者Alexandre Toulios
相关产品推荐
相关产品推荐

