Heroku 构建成功但部署失败(无代码更改)
Heroku build succeeds but deploy fails (no code change)
我在 LogDNA 中遇到以下错误:
(node:28) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Cannot find module '/tmp/build_[long-hash]/my-project-[long-hash]/node_modules/bluebird'
Process exited with status 0
State changed from starting to crashed
该行包含 Bluebird 的导入。当我删除依赖项并删除该行时,我得到了同样的错误,除了它引用了下一行(这也是一个依赖项导入)。
当我部署一个以前工作的分支时,我得到了同样的错误。当然,我不能在本地重新解决这个问题。
我将 Dyno 的 npm 列表与我的本地列表进行了比较,它们是相同的。此外,所有预期的 node_modules 实际上都存在于 Dyno 的文件系统中。
如果我使用 Heroku-bash 运行 手动构建任务(没有什么特别的),然后部署,没问题。
我们有 hard-coded/fixed 我们所依赖的 Electrode 版本,但 Electrode 有 a fuzzy version for WebPack,它在 5 天前发布了导致此错误的新版本。它会导致导入路径错误地 resolved/transpiled 到构建目录而不是保持相对路径。
解决方法是使用 require()
而不是 import
。
我在 LogDNA 中遇到以下错误:
(node:28) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Cannot find module '/tmp/build_[long-hash]/my-project-[long-hash]/node_modules/bluebird'
Process exited with status 0
State changed from starting to crashed
该行包含 Bluebird 的导入。当我删除依赖项并删除该行时,我得到了同样的错误,除了它引用了下一行(这也是一个依赖项导入)。
当我部署一个以前工作的分支时,我得到了同样的错误。当然,我不能在本地重新解决这个问题。
我将 Dyno 的 npm 列表与我的本地列表进行了比较,它们是相同的。此外,所有预期的 node_modules 实际上都存在于 Dyno 的文件系统中。
如果我使用 Heroku-bash 运行 手动构建任务(没有什么特别的),然后部署,没问题。
我们有 hard-coded/fixed 我们所依赖的 Electrode 版本,但 Electrode 有 a fuzzy version for WebPack,它在 5 天前发布了导致此错误的新版本。它会导致导入路径错误地 resolved/transpiled 到构建目录而不是保持相对路径。
解决方法是使用 require()
而不是 import
。