Jos*_*osh 10 git ssh r devtools
我写了一个R包,我保存在SSH服务器上的(裸)git存储库中,我希望能够在本地机器上安装它,而无需手动克隆存储库.
我尝试过以下方法:
devtools::install_git("ssh://user_name@remote/path/to/repository")
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
Downloading git repo ssh://user_name@remote/path/to/repository
Error in git2r::clone(x$url, bundle, progress = FALSE) :
Error in 'git2r_clone': Failed to start SSH session: Unable to exchange encryption keys
Run Code Online (Sandbox Code Playgroud)
我在Windows 7机器上,使用R 3.1.2,git2r版本0.11.0和devtools版本1.9.1.任何帮助将不胜感激.谢谢!
wsp*_*gin 14
我自己就是这个问题.我知道这个问题有点旧,但对于其他遇到同样问题的人(比如我),这就是我发现的.
可能你没有git2r(devtools用于与之交互的包git)用于通过SSH进行通信的库.
安装它.下面的例子假设是Ubuntu.
sudo apt-get install libssh2-1 libssh2-1-dev
Run Code Online (Sandbox Code Playgroud)
git2r使用名为LibSSH2的库来启用通过SSH传输.如果您使用的是Linux,则可以使用软件包管理器进行安装.注意如果你在Windows上,从git2r不支持SSH协议:/git2r版本0.11.0(使用更新版本libgit2)开始,Windows上也支持SSH.在此编辑中,最新版本git2r为0.15,因此如果您在Windows上没有SSH支持,请尝试更新git2r(向新闻发送zeehio).
安装LibSSH2之后,您需要重新安装git2r软件包以启用SSH传输(因为它在软件包构建期间启用/禁用).
关于GitHub的问题:
git不使用它,对吗?你是对的!git不使用它(据我所知).但是,libgit2是使用的纯C gitAPI实现git2r.