Getting Rugged::NetworkError на #connect

Я попытался реализовать выборку, и это исключение было поднято:

Rugged:: NetworkError: Этот транспорт не реализован. сожалею

Я могу получить удаленный экземпляр:

remote = Rugged::Remote.lookup(repo, remote_name)
remote.connect(:fetch)
# => Rugged::NetworkError: This transport isn't implemented. Sorry

Я получил development версия драгоценного камня, как указано в README:

gem 'rugged', git: 'git://github.com/libgit2/rugged.git', branch: 'development', submodules: true

Как получить доступ к методу подключения?

2 ответа

Решение

libgit2 использует openssl для HTTPS и libssh2 для ssh. Вам нужны пакеты разработки для них, чтобы встроенный libgit2 собирался с поддержкой этих транспортов.

Просто чтобы продолжить, вам нужно установить эти:

openssl libssh2 libssl-dev pkg-config

Затем вам нужно переустановить libgit2(rebuild), потому что оригинальные разделяемые библиотеки не знают, что вы установили новые пакеты. См. http://www.pygit2.org/install.html для установки.

Другие вопросы по тегам