Node.js Heroku 错误:“尽管路径正确,但找不到模块 './_shims/index.js'”

问题描述 投票:0回答:1

描述:

您好,我在将 Node.js 应用程序部署到 Heroku 时遇到了一个持续存在的问题,它无法从 openai npm 包中找到特定模块 ./_shims/index.js 。以下是详细信息以及我迄今为止尝试过的操作:

错误信息:

`错误:找不到模块'./_shims/index.js' 需要堆栈:

  • /app/node_modules/openai/streaming.js
  • /app/node_modules/openai/core.js
  • /app/node_modules/openai/index.js
  • /app/projects/my-app/utils/someScript.js
  • /app/server.js `

环境:

Node.js 版本:18.17.1 Heroku 堆栈:Heroku-22 部署方式:Git推送到Heroku

尝试解决:

  1. 检查本地node_modules/openai目录 - _shims文件夹与index.js一起存在。
  2. 运行heroku run bash并确认node_modules/openai不包含_shims。
  3. 删除node_modules和package-lock.json,清除npm缓存,并重新部署。
  4. 确保 package.json 包含 "openai": "^x.x.x" 且版本正确。
  5. 在 package.json 中添加了 "engines": {"node": "18.x"}

部署似乎没有复制所有必要的模块子目录/文件。这是否与 Heroku 缓存构建或安装包的方式有关?如何确保 Heroku 完全按照本地结构安装软件包?

感谢您提供的任何帮助或建议!

尝试解决:

  1. 检查本地node_modules/openai目录 - _shims文件夹与index.js一起存在。
  2. 运行heroku run bash并确认node_modules/openai不包含_shims。
  3. 删除node_modules和package-lock.json,清除npm缓存,并重新部署。
  4. 确保 package.json 包含 "openai": "^x.x.x" 且版本正确。
  5. 在 package.json 中添加了 "engines": {"node": "18.x"}
node.js npm heroku deployment node-modules
1个回答
0
投票

经过多次尝试,这张票解决了我的问题。对我来说有点惊讶。 Heroku 部署错误:找不到模块 - 编译

© www.soinside.com 2019 - 2024. All rights reserved.