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

Поэтому я пытался включить возможность извлекать и клонировать репо с использованием надежного. Я пробовал следующее

repo.fetch("origin")

и это

remote = Rugged::Remote.lookup(repo, remote_name)
remote.connect(:fetch)

также это

subject.clone(url, local_path)

Все они возвращаются с ошибкой

Rugged::NetworkError:
This transport isn't implemented. Sorry

Теперь, как правило, я бы принял ошибку, поскольку она еще не реализована. Однако, увидев вопросы, задаваемые вот так и вот так. Я подвергаю сомнению точность этой ошибки.

Я убедился, что libgit2 и libssh2 установлены в моей локальной системе, где выполняется этот код.

Я также просмотрел источник, пытающийся найти, где генерируется эта ошибка, и не смог ее найти. Для меня это не имеет смысла, так как ошибка не настолько описательна, чтобы указывать конкретно, где она терпит неудачу.

У меня вопрос, это намеренное поведение? Я думаю, что нет, основываясь на вопросах и ответах, которые я нашел по этому поводу. В каком случае кто-то знает, является ли это общей проблемой? Любая помощь приветствуется.

1 ответ

Решение

Таким образом, я обнаружил проблему в том, что libgit2 и libssh2 не правильно связываются при установке защищенного с помощью bundler. Этот ответ указал мне в этом общем направлении.

Запустив следующую команду

bundle install --path bundle/ 

Конфликт был решен.

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