Я загружаю php-проект на Heroku, и я следую инструкциям на официальном сайте. Когда я дойду до последней команды
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.
Я искал и не нашел решения.
Развертывания Heroku управляются через git. Git имеет концепцию, называемую удалёнными репозиториями; то есть хранилища, хранящиеся на другом компьютере. Когда вы git push
, вы отправляете данные в один из этих удаленных репозиториев. git push heroku master
означает "нажать на master
ветку в удаленном репозитории по имени heroku
".
Вы можете использовать git remote
команду 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 для доступа к удаленному.
Если вы настроили SSH-ключи для своей учетной записи Heroku, вы можете удалить https-remote и перенастроить его как удаленный ssh:
git remote rm heroku
git remote add heroku [email protected]:hidden-hamlet-3511.git
Вы также можете использовать команду heroku
для добавления удаленного ssh для удаленной установки, после удаления старого:
git remote rm heroku
heroku git:remote -a hidden-hamlet-3511 --ssh-git
Документация Heroku содержит дополнительную информацию об использовании SSH с git-пультами.
composer.json
иcomposer.lock
в корневую папку, и проект будет загружен. И это работает в моем случае. Добавьте это предложение в свой вопрос, если вы считаете, что это может быть причиной, и я приму ваш ответ.