Не могу клонировать репозиторий с Rugged

Используя openSUSE и Ubuntu с установленными зависимостями, я не могу клонировать удаленный репозиторий с Rugged::Repository.clone_at Способ и получение сообщения об ошибке:

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

Код:

credentials = Rugged::Credentials::SshKey.new(:privatekey=>'path/to/privatekey', :publickey=>'path/to/publickey', :passphrase=>'passphrase')
Rugged::Repository.clone_at 'ssh://github.com/vmoravec/repo', 'dir/to/destination', :credentials => credentials

Мой Gemfile для проекта rails содержит ссылку на репозиторий github:

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

Драгоценный камень был установлен с командой bundle install --path bundle/Клонирование не работает даже с использованием bundle exec rails console

Установленные системные пакеты:

  • libssh2, libssh2-devel
  • openssl, libopenssl-devel, libopenssl

Здесь уже задан аналогичный вопрос о SO, но решение не работает (хотя я думаю, что для MacOS): Getting Rugged:: NetworkError на #connect

1 ответ

Решение

Удаление bundle/ каталог и переустановка драгоценных камней с bundle install --path bundle/ решена проблема в обеих системах. Похоже, что система сборки не смогла по некоторым причинам обнаружить /usr/lib64/libssh2.so.1 зависимость требуется для ssh транспорт. Карлос, спасибо за подсказку, чтобы использовать ldd rugged.so чтобы проверить это.

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