В моем gemfile есть следующая строка:
gem 'client_side_validations', :git => "[email protected]:Dakuan/client_side_validations.git", :branch => "master", ref: '2245b4174ffd4b400d999cb5a2b6dccc0289eb67'
Репо, на которое она указывает, является публичным, и я могу запустить bundle install / update локально просто отлично. Когда я пытаюсь вывести на Heroku, я получаю следующую ошибку:
Fetching [email protected]:Dakuan/client_side_validations.git Проверка ключа хоста не удалась. fatal: Удаленный сервер неожиданно завис. Git error: command
git clone '[email protected]:Dakuan/client_side_validations.git' "/tmp/build_1xa9f06n4k1cu/vendor/bundle/ruby/1.9.1/cache/bundler/git/client_side_validations-56a04875baabb67b5f8c192c6c6743df476fd90f" --bare --no-hardlinks
в каталоге /tmp/build_1xa9f06n4k1cu завершилась неудачей. ! ! Не удалось установить драгоценные камни через Bundler. ! ! Heroku push rejected, failed to compile Ruby/rails app
У кого-нибудь есть идеи о том, что здесь происходит?
Вместо этого используйте этот URL GitHub: git://github.com/Dakuan/client_side_validations.git
.
URL [email protected]:...
- это версия SSH с возможностью записи, которая требует аутентификации с помощью SSH-ключа, подключенного к учетной записи GitHub, имеющей доступ на запись в репозиторий.
URL-адрес git://github.com/...
- это публичная версия, доступная только для чтения.
Поскольку используемый вами гем находится в публичном репозитории GitHub, вы также можете использовать это сокращение в своем Gemfile:
gem 'client_side_validations', :github => 'Dakuan/client_side_validations'
Дополнительную информацию см. в Bundler Git documentation.
Поздний второй ответ, поскольку я столкнулся с некоторым запутанным выводом из журналов сборки Heroku, который поставил меня в тупик на некоторое время.
Если в вашем Gemfile есть несколько Github-хостингов, и один из них недоступен (в моем случае я случайно указал на свое частное репо), то в журнале сборки появляется ошибка типа Username not found
или Repository not found
для всех Github-хостингов - даже тех, которые доступны.