【问题标题】:Failed run application in heroku with adonis,next,react app framework使用adonis在heroku中运行应用程序失败,下一步,反应应用程序框架
【发布时间】:2019-08-20 09:35:45
【问题描述】:

我在将我的应用程序部署到 heroku 时遇到问题,我正在使用 react,next,adonis 来构建这个应用程序。 我的环境我手动放入了显示配置变量 heroku

这是我在 heroku tail 中的日志错误

2019-08-20T09:26:20.148145+00:00 heroku[web.1]: Starting process with command `npm start`
2019-08-20T09:26:22.364045+00:00 app[web.1]:
2019-08-20T09:26:22.364077+00:00 app[web.1]: > adonis-fullstack-app@4.1.0 start /app
2019-08-20T09:26:22.364079+00:00 app[web.1]: > node server.js --production
2019-08-20T09:26:22.364081+00:00 app[web.1]:
2019-08-20T09:26:22.998945+00:00 app[web.1]:
2019-08-20T09:26:22.998985+00:00 app[web.1]: WARNING: Adonis has detected an unhandled promise rejection, which may
2019-08-20T09:26:22.998988+00:00 app[web.1]: cause undesired behavior in production.
2019-08-20T09:26:22.998991+00:00 app[web.1]: To stop this warning, use catch() on promises or wrap await
2019-08-20T09:26:22.998993+00:00 app[web.1]: calls inside try/catch.
2019-08-20T09:26:22.998995+00:00 app[web.1]:
2019-08-20T09:26:23.003594+00:00 app[web.1]: { Error: ENOENT: no such file or directory, open '/app/.env'
2019-08-20T09:26:23.003598+00:00 app[web.1]: at Object.openSync (fs.js:443:3)
2019-08-20T09:26:23.003600+00:00 app[web.1]: at Object.readFileSync (fs.js:343:35)
2019-08-20T09:26:23.003602+00:00 app[web.1]: at Env.load (/app/node_modules/@adonisjs/framework/src/Env/index.js:110:41)
2019-08-20T09:26:23.003605+00:00 app[web.1]: at new Env (/app/node_modules/@adonisjs/framework/src/Env/index.js:42:22)
2019-08-20T09:26:23.003607+00:00 app[web.1]: at Object.app.singleton [as closure] (/app/node_modules/@adonisjs/framework/providers/AppProvider.js:29:14)
2019-08-20T09:26:23.003610+00:00 app[web.1]: at Ioc._resolveBinding (/app/node_modules/@adonisjs/fold/src/Ioc/index.js:231:68)
2019-08-20T09:26:23.003612+00:00 app[web.1]: at Ioc.use (/app/node_modules/@adonisjs/fold/src/Ioc/index.js:731:19)
2019-08-20T09:26:23.003614+00:00 app[web.1]: at NextProvider.register (/app/node_modules/adonis-nextjs/providers/NextProvider/index.js:38:24)
2019-08-20T09:26:23.003615+00:00 app[web.1]: at _.filter.each (/app/node_modules/@adonisjs/fold/src/Registrar/index.js:128:36)
2019-08-20T09:26:23.003618+00:00 app[web.1]: at arrayEach (/app/node_modules/lodash/lodash.js:516:11) errno: -2, syscall: 'open', code: 'ENOENT', path: '/app/.env' }
2019-08-20T09:26:23.021016+00:00 app[web.1]:
2019-08-20T09:26:23.021021+00:00 app[web.1]: Error: ENOENT: no such file or directory, open '/app/.env'
2019-08-20T09:26:23.021023+00:00 app[web.1]:
2019-08-20T09:26:23.021024+00:00 app[web.1]:
2019-08-20T09:26:23.021026+00:00 app[web.1]: 1 Env.load
2019-08-20T09:26:23.021028+00:00 app[web.1]: /app/node_modules/@adonisjs/framework/src/Env/index.js:110
2019-08-20T09:26:23.021030+00:00 app[web.1]:
2019-08-20T09:26:23.021032+00:00 app[web.1]: 2 new Env
2019-08-20T09:26:23.021035+00:00 app[web.1]: /app/node_modules/@adonisjs/framework/src/Env/index.js:42
2019-08-20T09:26:23.021036+00:00 app[web.1]:
2019-08-20T09:26:23.021039+00:00 app[web.1]: 3 Object.app.singleton [as closure]
2019-08-20T09:26:23.021041+00:00 app[web.1]: /app/node_modules/@adonisjs/framework/providers/AppProvider.js:29
2019-08-20T09:26:23.021043+00:00 app[web.1]:
2019-08-20T09:26:23.021045+00:00 app[web.1]: 4 Ioc._resolveBinding
2019-08-20T09:26:23.021047+00:00 app[web.1]: /app/node_modules/@adonisjs/fold/src/Ioc/index.js:231
2019-08-20T09:26:23.021049+00:00 app[web.1]:
2019-08-20T09:26:23.021051+00:00 app[web.1]: 5 Ioc.use
2019-08-20T09:26:23.021053+00:00 app[web.1]: /app/node_modules/@adonisjs/fold/src/Ioc/index.js:731
2019-08-20T09:26:23.021055+00:00 app[web.1]:
2019-08-20T09:26:23.021057+00:00 app[web.1]: 6 AppProvider.boot
2019-08-20T09:26:23.021059+00:00 app[web.1]: /app/node_modules/@adonisjs/framework/providers/AppProvider.js:337
2019-08-20T09:26:23.021061+00:00 app[web.1]:
2019-08-20T09:26:23.021063+00:00 app[web.1]: 7 _.filter.map
2019-08-20T09:26:23.021065+00:00 app[web.1]: /app/node_modules/@adonisjs/fold/src/Registrar/index.js:147
2019-08-20T09:26:23.021066+00:00 app[web.1]:
2019-08-20T09:26:23.021068+00:00 app[web.1]: 8 arrayMap
2019-08-20T09:26:23.021070+00:00 app[web.1]: /app/node_modules/lodash/lodash.js:639
2019-08-20T09:26:23.021072+00:00 app[web.1]:
2019-08-20T09:26:23.029460+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-08-20T09:26:23.029933+00:00 app[web.1]: npm ERR! errno 1
2019-08-20T09:26:23.031184+00:00 app[web.1]: npm ERR! adonis-fullstack-app@4.1.0 start: `node server.js --production`
2019-08-20T09:26:23.031327+00:00 app[web.1]: npm ERR! Exit status 1
2019-08-20T09:26:23.031582+00:00 app[web.1]: npm ERR!
2019-08-20T09:26:23.031795+00:00 app[web.1]: npm ERR! Failed at the adonis-fullstack-app@4.1.0 start script.
2019-08-20T09:26:23.032063+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-08-20T09:26:23.037560+00:00 app[web.1]:
2019-08-20T09:26:23.037776+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-08-20T09:26:23.037921+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2019-08-20T09_26_23_033Z-debug.log
2019-08-20T09:26:23.100987+00:00 heroku[web.1]: Process exited with status 1
2019-08-20T09:26:23.118856+00:00 heroku[web.1]: State changed from starting to crashed
2019-08-20T09:26:35.633644+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myapp.herokuapp.com request_id=d42ff289-f989-4386-a521-d22a650b44ba fwd="103.87.85.198" dyno= connect= service= status=503 bytes= protocol=https
2019-08-20T09:26:35.979151+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=myapp.herokuapp.com request_id=44d7c31f-3b53-49dd-a6b0-13fa5b113004 fwd="103.87.85.198" dyno= connect= service= status=503 bytes= protocol=https

我已经在另一个论坛尝试了一些解决方案,但没有解决

这是我的包 json

"scripts": {
    "start": "node server.js --production",
    "heroku-postbuild": "npm run build",
    "test": "node ace test",
    "dev": "node server.js",
    "build": "next build ./next",
    "export": "next export ./next"
  },

我已经在寻找另一个但可能与我的项目不同的实现,有什么解决方案吗?

【问题讨论】:

    标签: reactjs heroku next.js adonis.js


    【解决方案1】:

    heroku 变量中有ENV_SILENT 参数吗?

    祝你有美好的一天

    【讨论】:

      【解决方案2】:

      如果 .env 文件丢失,AdonisJs 默认会抛出异常。但是,您关闭异常如下

      • 在您的代码中的某处,您正试图打开 .env 文件。所以产生一个错误。

      • 您可以禁用.env文件并直接使用您的系统环境变量访问this页面了解更多信息

      【讨论】:

        猜你喜欢
        • 2020-10-26
        • 2016-10-20
        • 1970-01-01
        • 2014-11-15
        • 1970-01-01
        • 1970-01-01
        • 2021-11-11
        • 1970-01-01
        相关资源
        最近更新 更多