Getting Rugged::NetworkError on #connect

2019-03-04 18:26发布

I tried to implement fetch and this exception was raised:

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

I am able to retrieve a remote instance:

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

I retrieved the development version of the gem as directed in the README:

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

How do I gain access to the connect method?

2条回答
【Aperson】
2楼-- · 2019-03-04 18:49

libgit2 uses openssl for HTTPS and libssh2 for ssh. You need the development packages for them in order for the embedded libgit2 to build with support for those transports.

查看更多
小情绪 Triste *
3楼-- · 2019-03-04 18:55

Just to follow up on this, you need to install these:

openssl libssh2 libssl-dev pkg-config

Then you need to reinstall libgit2(rebuild), because the original shared libraries do not know that you've installed the new packages. See http://www.pygit2.org/install.html for installing.

查看更多
登录 后发表回答