Обеспечение защищенности::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

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


person rhodee    schedule 07.03.2014    source источник


Ответы (2)


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

person Carlos Martín Nieto    schedule 07.03.2014
comment
Я запустил brew install openssl libssh2 и та же ошибка. Как именно я должен загружать пакеты? - person rhodee; 08.03.2014
comment
@rhodee, как ты это понял? Я запустил команду brew, но libgit2 по-прежнему (очевидно) не связывает libssh2 при компиляции. - person Luke; 12.05.2014

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

openssl libssh2 libssl-dev pkg-config

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

person Michael Dotson    schedule 18.09.2014