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 git
API实现git2r
.