描述:
您好,我在将 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
尝试解决:
- 检查本地node_modules/openai目录 - _shims文件夹与index.js一起存在。
- 运行heroku run bash并确认node_modules/openai不包含_shims。
- 删除node_modules和package-lock.json,清除npm缓存,并重新部署。
- 确保 package.json 包含 "openai": "^x.x.x" 且版本正确。
- 在 package.json 中添加了 "engines": {"node": "18.x"}
部署似乎没有复制所有必要的模块子目录/文件。这是否与 Heroku 缓存构建或安装包的方式有关?如何确保 Heroku 完全按照本地结构安装软件包?
感谢您提供的任何帮助或建议!
尝试解决:
- 检查本地node_modules/openai目录 - _shims文件夹与index.js一起存在。
- 运行heroku run bash并确认node_modules/openai不包含_shims。
- 删除node_modules和package-lock.json,清除npm缓存,并重新部署。
- 确保 package.json 包含 "openai": "^x.x.x" 且版本正确。
- 在 package.json 中添加了 "engines": {"node": "18.x"}