【问题标题】:Module Not Found Error while Pushing to Heroku推送到 Heroku 时未找到模块错误
【发布时间】:2022-07-17 22:44:14
【问题描述】:

我了解此问题已被多次提出,但我尝试了几乎所有可用的解决方案,但均未成功。问题是我能够毫无问题地部署到 GitHub 页面,但 Heroku 提到我有一些路由问题。

在最近 Heroku 删除 Github 与 Heroku 集成的问题之后,我在推送代码时遇到了麻烦。最初,我的网站运行良好,通过 Github 自动部署。但是,当我尝试通过以下方式手动推送时:

$ git add .
$ git commit -am "make it better"
$ git push heroku master

我正面临这个错误:

Module not found: Error: Can't resolve './pages/MainPage' in '/tmp/build_8986ef5f/src'

我已尝试删除此页面,错误只会更改为另一个无法解析路径错误。

我的文件目录是:

- build
- node_modules
- public
- src
    - pages
        - MainPage.js
        - SecondPage.js
        - ...
    - App.js
    - index.js
.gitignore
package-lock.json
package.json

在 App.js 文件中,我通过相对路径导入库:

import Home from './pages/MainPage';

我的相对路径有问题吗?自从通过 Github 部署以来,我没有更改过结构,所以我不知道是什么错误。

【问题讨论】:

    标签: reactjs github heroku deployment heroku-cli


    【解决方案1】:

    我发现了错误。显然,部署到 Github 导致一些区分大小写的命名出错。例如。虽然我将它部署为 MainPage,但由于某种原因它被部署为 mainpage。

    这导致无法找到文件路径。

    我用过:

    heroku run bash
    

    找出命名约定的错误。为了修复它,我删除了所有受影响的文件夹,其中的外壳部署错误,提交了更改,然后将它们读入并重新部署。在我这样做之后它起作用了。

    【讨论】:

      【解决方案2】:

      谢谢@dfwgwefewfwe!我没有足够的声誉来评论他们的帖子,但它确实为我解决了问题。

      只是添加一些额外的信息,但对于其他可能会被它卡住的人:

      我的问题是我有一些资产位于文件夹中,例如

      Equipment
        /hands
          /gloves1.png
          /gloves2.png
        /feet
          /boots1.png
          /boots2.png
      

      为了使事情更加一致,我只是将第一个字母大写为手和脚

      我运行了那个命令

      heroku run bash
      

      并且能够找到那些已重命名的文件夹,并且它们仍处于旧版本。

      所以回到我的本地副本,我将整个 Equipment 文件夹移动到另一个位置,删除了代码中对资产的所有引用,并将其推送到 heroku。

      现在服务器上的 Equipment 文件夹已被删除,然后我能够恢复我上次的 git 提交并准确推送我之前尝试推送的内容,并且成功了。

      我希望这对其他人有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-07
        • 2020-04-27
        • 2018-09-11
        • 1970-01-01
        • 2019-02-13
        • 2019-12-24
        • 2021-12-05
        • 2020-05-19
        相关资源
        最近更新 更多