部署后端时openai npm包报错:无法找到node:fs模块
Node.js 20 安装 openai 包后出现「找不到模块 'node:fs'」错误
问题描述
- 后端部署时触发错误,且仅在安装 openai npm 包后出现
- 使用 Node.js 20 版本,
node:fs是 Node.js 内置模块,代码中未手动引入,推测是 openai 包依赖或调用了该模块
报错详情
node:internal/modules/cjs/loader:927 throw err; ^ 错误: 找不到模块 'node:fs' 依赖调用栈: - /srv/node_modules/openai/_shims/node-runtime.js - /srv/node_modules/openai/_shims/auto/runtime-node.js - /srv/node_modules/openai/_shims/index.js - /srv/node_modules/openai/streaming.js - /srv/node_modules/openai/core.js - /srv/node_modules/openai/index.js - /srv/index.js 在 Function.Module._resolveFilename (node:internal/modules/cjs/loader:924:15) 在 Function.Module._load (node:internal/modules/cjs/loader:769:27) 在 Module.require (node:internal/modules/cjs/loader:996:19) 在 require (node:internal/modules/cjs/helpers:92:18) 在 Object.<anonymous> (/srv/node_modules/openai/_shims/node-runtime.js:37:19) 在 Module._compile (node:internal/modules/cjs/loader:1092:14) 在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10) 在 Module.load (node:internal/modules/cjs/loader:972:32) 在 Function.Module._load (node:internal/modules/cjs/loader:813:14) 在 Module.require (node:internal/modules/cjs/loader:996:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/srv/node_modules/openai/_shims/node-runtime.js', '/srv/node_modules/openai/_shims/auto/runtime-node.js', '/srv/node_modules/openai/_shims/index.js', '/srv/node_modules/openai/streaming.js', '/srv/node_modules/openai/core.js', '/srv/node_modules/openai/index.js', '/srv/index.js' ] } npm 提示 npm 提示 npm 有新版本可用! 7.7.6 -> 10.5.0 npm 提示 更新日志: <https://github.com/npm/cli/releases/tag/v10.5.0> npm 提示 运行 `npm install -g npm@10.5.0` 进行更新! npm 提示
解决方法
- 确认 Node.js 版本:运行
node -v检查部署环境是否确实为 Node.js 20,避免环境版本与声明不符 - 重新安装依赖:删除现有依赖包和锁文件后重新安装
rm -rf node_modules package-lock.json npm install - 调整 openai 包版本:尝试升级或降级 openai 包,比如安装稳定版本:
npm install openai@4.20.1 - 检查部署环境限制:部分容器或沙箱环境可能会限制内置模块访问,需调整环境配置解除限制
内容的提问来源于stack exchange,提问作者LearningBeNice
相关产品推荐
相关产品推荐

