Не удалось запустить приложение Keystone.js на Heroku из-за отсутствия импортера? - PullRequest
0 голосов
/ 17 февраля 2019

Мой проект Keystone.js 4, использующий узел 10.15, не запускается на 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, настроенные точно так же, как и корректно.

Iпопытались отключить кэш сборки, создать новый экземпляр приложения для развертывания и проверить через консоль Heroku, что соответствующий файл действительно существует в исходном коде.

Проект собирается и работает правильно в Windows 10 и *Локальные среды nix.

Что я могу сделать, чтобы отладить это?

1 Ответ

0 голосов
/ 22 февраля 2019

Так что, похоже, проблема в том, что npm 6.5.x не устанавливает все зависимости Keystone.Переключение на Yarn, когда менеджер пакетов исправляет это.

  • Я установил последнюю версию Yarn, 1.13.0 на данный момент.
  • Установлены зависимости через yarn
  • Зафиксировал файл yarn.lock
  • Указал "yarn": "1.13.0" в разделе «двигателей» моего package.json и удалил «npm» из двигателей.
  • Повторно развернут в Heroku ивсе работает как положено.

Надеюсь, это кому-нибудь поможет!

...