You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node 12.18环境下npm run build报错Cannot find module 'node:fs'求助

解决方案

问题根源

node:fs 这种带前缀的模块导入语法是 Node.js v14.18.0 及以上版本才支持的特性,你的 Node.js v12.18 并不兼容该写法。报错栈指向 rc9 包,说明远程服务器上安装的 rc9 版本过高,引入了这个不兼容语法;而本地因为 package-lock.json 锁文件的存在,安装的是适配 Node.js 12 的旧版本 rc9,所以能正常运行。

修复步骤

1. 确认本地兼容的 rc9 版本

在本地环境执行以下命令,查看当前使用的 rc9 具体版本:

npm ls rc9

输出类似 rc9@2.1.1,记下这个版本号。

2. 强制锁定 rc9 版本(适配 npm 6)

由于 npm 6 不支持内置的依赖版本覆盖功能,需要借助 npm-force-resolutions 工具实现版本锁定:

  • 安装工具作为开发依赖:
    npm install --save-dev npm-force-resolutions
    
  • 在 package.json 中添加以下配置(替换版本号为你本地查到的兼容版本):
    "resolutions": {
      "rc9": "2.1.1"
    },
    "scripts": {
      "preinstall": "npm-force-resolutions"
    }
    
  • 删除现有依赖和锁文件,重新安装依赖:
    rm -rf node_modules package-lock.json
    npm install
    

3. 部署时携带锁文件

远程服务器部署时,务必将本地的 package-lock.json 一并上传,避免 npm 自动安装最新版本的依赖,再次触发兼容性问题。

备选方案:直接指定 rc9 版本安装

如果上述方法无效,也可以直接强制安装兼容版本的 rc9:

npm install rc9@你的本地版本号 --save

内容的提问来源于stack exchange,提问作者Bipa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 00:57:27