误删Heroku分配URL后,重新部署Laravel应用遇推送旧地址问题
问题原因分析
这问题我碰到过好几次,核心原因是你的本地Git仓库还和旧的Heroku应用绑定着:你在Heroku控制台删除默认URL,只是移除了应用的对外访问域名,但Heroku上的旧应用实体并没有被删除,而且本地Git的heroku远程仓库配置依然指向那个旧应用。哪怕你执行了heroku create生成新应用,Git默认还是会推送到已有的heroku远程,不会自动覆盖旧配置。
解决方案
下面是两种可行的解决办法,选一种适合你的就行:
方法1:更新现有heroku远程的URL到新应用
- 先查看你所有的Heroku应用,找到新生成的那个应用名称:
heroku apps - 把本地
heroku远程的URL替换成新应用的Git地址:
注意把git remote set-url heroku https://git.heroku.com/<你的新应用名称>.git<你的新应用名称>换成实际的应用名,比如gentle-fjord-12345。 - 现在再执行推送命令,就会推送到新应用了:
git push heroku master # 如果你的主分支是main,就换成git push heroku main
方法2:移除旧远程,重新关联新应用
如果你想彻底清理旧配置,可以这么做:
- 删除本地的
heroku远程仓库:git remote rm heroku - 将本地Git仓库和新应用关联:
heroku git:remote -a <你的新应用名称> - 执行推送即可:
git push heroku master # 或main,根据你的主分支名调整
额外提醒
新应用是全新的环境,别忘了重新配置Laravel需要的环境变量(比如APP_KEY、数据库连接信息等),可以通过Heroku控制台或者命令行heroku config:set KEY=VALUE来设置。
内容的提问来源于stack exchange,提问作者Inertia
相关产品推荐
相关产品推荐

