【问题标题】:MERN deployment to HerokuMERN 部署到 Heroku
【发布时间】:2021-09-23 10:53:00
【问题描述】:

我很难弄清楚如何将我的应用程序部署到 heroku。我对所有这些都是新手,所以我尝试了不同的方法并遵循不同的教程,但我似乎无法找到如何去做。

这是我的 github 仓库: https://github.com/solecity/card-deck-manager-app/tree/main

在我来自 heroku 的日志中,我遇到了不同的错误:

2021-07-14T12:22:33.592361+00:00 app[web.1]: npm ERR! missing script: start

Starting process with command `node index.js`
2021-07-14T12:25:08.838023+00:00 app[web.1]: internal/modules/cjs/loader.js:905
2021-07-14T12:25:08.838048+00:00 app[web.1]: throw err;
2021-07-14T12:25:08.838048+00:00 app[web.1]: ^
2021-07-14T12:25:08.838049+00:00 app[web.1]:
2021-07-14T12:25:08.838049+00:00 app[web.1]: Error: Cannot find module '/app/index.js'

2021-07-14T12:27:16.812794+00:00 app[web.1]: Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'express' imported from /app/server/index.js

如果有人能告诉我如何解决这个问题,将不胜感激

【问题讨论】:

    标签: node.js reactjs heroku mern


    【解决方案1】:

    如错误所述,您需要在 package.json 中提供启动脚本 显然这就是heroku试图运行的。 (错误 1) 如果它没有找到它,它会运行类似 node index.js(错误 2)的东西

    此外,您还没有在主 package.json 的依赖项中注册 express,因此 heroku 不会安装它。 (错误3)

    我不太习惯heroku,但我认为你应该创建2个独立的项目,并在heroku中分别注册它们。这样他只会找到合适的 package.json 并运行。

    【讨论】:

    • 嗨。谢谢您的回复。我的客户端文件夹和服务器文件夹中都有一个启动脚本
    • @Mari github.com/solecity/card-deck-manager-app/blob/main/… 中没有启动脚本 也将web: npm start 放入Procfile,并删除其他Procfile。并在基础上创建一个 package.json(和锁定文件)。还要避免混淆npmYarn。您的项目同时包含 package-lock.jsonYarn.lock
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 2020-07-27
    • 1970-01-01
    • 2021-02-25
    • 2020-04-06
    • 2021-12-25
    • 2021-11-20
    相关资源
    最近更新 更多