You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Heroku部署问题:执行git push heroku master时出现src refspec master不匹配错误

解决Heroku部署的两个问题:Push失败&默认欢迎页

我来帮你一步步搞定这两个问题,先解决push时的错误,再处理页面显示的问题:

一、修复error: src refspec master does not match any错误

这个错误大多是因为本地分支名称不对,或者仓库里没有任何已提交的代码,按下面的步骤排查:

  1. 检查本地分支名称
    现在很多Git仓库默认分支已经从master改成main了,先看看你的本地分支是什么:

    git branch
    

    如果输出里显示的是main而不是master,那把push命令改成:

    git push heroku main
    
  2. 确保本地有已提交的代码
    如果你的本地仓库还没初始化,或者没有任何提交记录,Git会拒绝push。执行下面的命令完成初始化和提交:

    # 初始化Git仓库(如果还没做的话)
    git init
    # 添加所有项目文件到暂存区
    git add .
    # 提交代码到本地分支
    git commit -m "Initial commit: 首次提交应用代码"
    

    完成这些后再重新执行push命令(对应你的分支名:main或master)。

  3. 确认本地仓库已关联Heroku远程
    如果你还没把本地仓库和Heroku应用关联起来,先执行:

    heroku git:remote -a 你的应用名称
    

    替换成你在Heroku上创建的应用的名字,然后再尝试push。

二、解决Heroku显示默认欢迎页的问题

默认欢迎页说明Heroku上还没有部署你的实际应用代码,当你成功push代码后,这个页面通常会自动替换成你的应用。但如果push成功后还是显示默认页,再检查这两点:

  • 检查Procfile是否正确配置
    Procfile是告诉Heroku怎么启动你的应用的文件,必须放在项目根目录,没有后缀名。比如Node.js应用的Procfile内容应该是:

    web: node server.js
    

    这里的server.js要换成你实际的入口文件;如果是Python Flask应用,可能是web: gunicorn app:app,根据你的项目语言调整。

  • 确认构建脚本执行成功
    如果是React、Vue这类前端框架,需要在package.json里配置build命令,Heroku会自动执行它生成静态文件。比如React的package.json里要有:

    "scripts": {
      "build": "react-scripts build",
      "start": "serve -s build"
    }
    

    还要确保你已经安装了serve这类静态文件服务器依赖(如果需要的话)。

完成以上步骤后,重新push代码,然后访问你的Heroku应用地址,应该就能看到你自己的应用了。

内容的提问来源于stack exchange,提问作者Rabie

火山引擎 最新活动