【问题标题】:Keystone.js app startup fails on Heroku due to missing importer?由于缺少导入程序,Keystone.js 应用程序在 Heroku 上启动失败?
【发布时间】:2019-07-11 06:00:21
【问题描述】:

我使用 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 环境中构建和运行。

我可以做些什么来调试这个?

【问题讨论】:

    标签: heroku keystonejs


    【解决方案1】:

    所以问题似乎是由于 npm 6.5.x 没有安装 Keystone 的所有依赖项。切换到 Yarn 作为包管理器可以解决这个问题。

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

    希望这对某人有所帮助!

    【讨论】:

      猜你喜欢
      • 2016-09-08
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多