我正在Heroku上传一个php项目,我按照官方网站上的说明进行操作。当我到达最后一个命令时
git push heroku master
我收到以下错误:
error: protocol https not supported or disabled in libcurl while accessing https://git.heroku.com/hidden-hamlet-3511.git/info/refs?service=git-receive-pack
fatal: HTTP request failed.
我四处寻找,找不到任何解决方案。
答案 0 :(得分:0)
Heroku部署通过git进行管理。 Git有一个名为远程存储库的概念;也就是说,存储在另一台机器上的存储库。当您git push
时,您正在向其中一个远程存储库发送数据。 git push heroku master
表示“推送到名为master
的远程存储库上的heroku
分支。”
您可以使用git remote
命令查看存储库的已配置遥控器。例如,如果您运行git remote -v
,您可能会看到类似的内容(您可能还会列出其他内容)。
user@host dir$ git remote -v
heroku https://git.heroku.com/hidden-hamlet-3511.git (push)
heroku https://git.heroku.com/hidden-hamlet-3511.git (fetch)
Git可以通过两种协议使用遥控器: http 和 ssh 。您的远程设置为使用http(默认为Heroku),但您的libcurl
库不支持SSL,后者用于https。这就是您的错误消息的含义 - git无法使用https访问其远程。
如果你set up SSH keys for your Heroku account,你可以删除https遥控器,并将其重新配置为ssh遥控器:
git remote rm heroku
git remote add heroku git@heroku.com:hidden-hamlet-3511.git
您还可以使用heroku
命令为您添加ssh遥控器,删除旧遥控器后:
git remote rm heroku
heroku git:remote -a hidden-hamlet-3511 --ssh-git