由于缺少进口商,Keystone.js应用程序启动在Heroku上失败了吗?

时间:2019-02-17 20:20:34

标签: heroku keystonejs

我使用Node 10.15的Keystone.js 4项目无法在Heroku上启动:

Error: Cannot find module './lib/core/importer'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/app/node_modules/keystone/index.js:6:16)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    Process exited with status 1
    State changed from crashed to starting
    Starting process with command `node ./dist/keystone.js`
    State changed from starting to crashed
    Process exited with status 1
    internal/modules/cjs/loader.js:583
    throw err;

我还有其他Keystone应用程序,它们的配置与正常运行完全相同。

我尝试禁用构建缓存,创建一个新的应用程序实例以部署到该源,并通过Heroku控制台验证了该文件确实存在于源文件中。

该项目在Windows 10和* nix环境中本地构建并正确运行。

该如何调试?

1 个答案:

答案 0 :(得分:0)

因此,看来问题出在NPM 6.5.x并没有安装Keystone的所有依赖项。在程序包管理器中切换到Yarn即可解决此问题。

  • 到目前为止,我已经安装了最新版本的Yarn,1.13.0。
  • 通过yarn
  • 安装的依赖项
  • 提交了yarn.lock文件
  • 在我的package.json的“引擎”部分中指定了"yarn": "1.13.0",并从引擎中删除了“ npm”。
  • 重新部署到Heroku,它可以按预期工作。

希望这对某人有帮助!