rugged

clone_at and fetch returning Rugged::NetworkError: This transport isn't implemented. Sorry


So I have been attempting to incorporate the ability to both fetch and clone repo's using rugged. I have tried the following

repo.fetch("origin")

and this

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

also this

subject.clone(url, local_path)

All of these return with the error

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

Now, ordinarily, I would take the error as it not being implemented yet. However, having seen questions asked like this, and this. I question the accuracy of that error.

I have ensured that libgit2 and libssh2 are both installed on the my local system running this code.

I have also looked through the source attempting to find where this error is generated, and was unable to locate it. To me, this does not make sense, since the error is not as descriptive to point to specifically where it is failing.

My question is, is this intended behavior? I would think it is not, based on the questions and answers I found regarding this. In which case, does someone know if this is a common issue? Any help is appreciated.


Solution

  • so I discovered the issue, in that that libgit2 and libssh2 where not properly linking at installation of rugged using bundler. I was pointed in this general direction by this answer.

    By running the following command

    bundle install --path bundle/ 
    

    The conflict was resolved.