clone_at和fetch返回Rugged :: NetworkError:未实现此传输。抱歉

时间:2014-08-21 14:29:58

标签: rugged

所以我一直试图将使用坚固的fetch和clone repo的功能结合起来。我试过以下

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

现在,通常情况下,我会接受错误,因为它尚未实施。但是,在看过像this,this.这样的问题时,我质疑该错误的准确性。

我确保libgit2和libssh2都安装在运行此代码的本地系统上。

我还查看了源代码,试图找到生成此错误的位置,但无法找到它。对我来说,这没有任何意义,因为错误并没有特别指出它失败的地方。

我的问题是,这是预期的行为吗?根据我发现的问题和答案,我认为不是这样。在哪种情况下,有人知道这是否是一个常见问题?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

所以我发现了这个问题,因为libgit2和libssh2在使用bundler安装时没有正确链接。 this answer指出了这个大方向。

运行以下命令

bundle install --path bundle/ 

冲突得到解决。