ElasticBeanstalk在ContainerCommand中找不到.env

时间:2018-08-09 01:20:46

标签: sequelize.js elastic-beanstalk sequelize-cli

我正在尝试使用扩展名为./node_modules/.bin/sequelize db:migrate的ebextension将我的应用程序的新版本部署到ElasticBeanstalk,以便运行我的sequelize迁移来更新数据库。但是,我在部署时收到错误消息,指示sequelize无法找到.env文件。我已经阅读了其他相关问题,试图运行npm时会发生这种情况,但是我的情况是按照node_module文档中的说明指定对sequelize-cli的调用。

是不是模块正在搜索.env文件,而不是AWS在其中存储ENV变量?

以下是错误日志:

fra-EmbeddedPostBuild/postbuild_3_synotate/Command 1$
  ^[[4mSequelize CLI [Node: 6.14.3, CLI: 4.0.0, ORM: 3.33.0]^[[24m

  { Error: ENOENT: no such file or directory, open '.env'
  at Error (native)
  at Object.fs.openSync (fs.js:642:18)
  at Object.fs.readFileSync (fs.js:510:33)
  at Object.config (/tmp/deployment/application/node_modules/dotenv/lib/main.js:30:37)
  at Object.<anonymous> (/tmp/deployment/application/config/config.js:2:34)
  at Module._compile (module.js:577:32)
  at Object.Module._extensions..js (module.js:586:10)
  at Module.load (module.js:494:32)
  at tryModuleLoad (module.js:453:12)
  at Function.Module._load (module.js:445:3)
  at Module.require (module.js:504:17)
  at require (internal/module.js:20:19)
  at /tmp/deployment/application/node_modules/sequelize-cli/lib/helpers/config-helper.js:47:20
  at tryCatcher (/tmp/deployment/application/node_modules/bluebird/js/release/util.js:16:23)
  at Promise._settlePromiseFromHandler (/tmp/deployment/application/node_modules/bluebird/js/release/promise.js:512:31)
  at Promise._settlePromise (/tmp/deployment/application/node_modules/bluebird/js/release/promise.js:569:18) errno: -2, code: 'ENOENT', syscall: 'open', path: '.env' }
  Loaded configuration file "config/config.js".
  Using environment "staging".

  ^[[31mERROR:^[[39m connect ECONNREFUSED 111.0.0.1:5432

   (ElasticBeanstalk::ExternalInvocationError)

这是我的.ebextension配置文件:

container_commands:
    10_db_migrate:
        command: ./node_modules/.bin/sequelize db:migrate
        leader_only: true

0 个答案:

没有答案