2014-03-07 15 views
0

我试图执行读取和此异常升高:获得坚固:: NetworkError上#connect

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

我能够获取远程实例:

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

我检索到的development版本的自述文件:

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

如何获取对connect方法的访问权限?

回答

1

libgit2使用openssl作为HTTPS,使用libssh2作为ssh。你需要为它们开发软件包,以便嵌入式libgit2能够支持这些传输。

+0

我跑了'brew install openssl libssh2'和同样的错误。我应该如何精确地下载软件包? – rhodee

+0

想通了谢谢 – rhodee

+0

@rhodee你怎么解决这个问题?我运行了brew命令,但在编译时'libgit2'仍然没有(显然)链接'libssh2'。 – Luke

0

只是跟进这一点,你需要安装这些:

openssl libssh2 libssl-dev pkg-config 

那么你需要重新安装libgit2(重建),因为原来的共享库不知道你已经安装了新的软件包。请参阅http://www.pygit2.org/install.html进行安装。