devtools::install_git 通过 SSH
devtools::install_git Over SSH
我写了一个 R 包,我保存在 SSH 服务器上的(裸)git 存储库中,我希望能够在本地机器上安装它而不需要克隆存储库手动。
我尝试了以下操作:
devtools::install_git("ssh://user_name@remote/path/to/repository")
但我收到错误
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
我在 Windows 7 机器上,使用 R 3.1.2、git2r 版本 0.11.0 和 devtools 版本 1.9.1。任何帮助将不胜感激。谢谢!
运行 我自己进入这个问题。我知道这个问题有点老了,但是对于其他 运行 遇到同样问题的人(比如我),这是我发现的。
问题
可能您没有 git2r
(devtools
用于与 git
交互的包)用于通过 SSH 通信的库。
解决方案
安装它。下面的示例假设 Ubuntu.
sudo apt-get install libssh2-1 libssh2-1-dev
git2r
使用名为 LibSSH2 的库来启用 SSH 传输。如果你在 Linux,你可以使用你的包管理器安装它。 注意 如果您使用 Windows,git2r
还不支持 SSH 协议:/ 截至 git2r
版本 0.11.0(使用 libgit2
的更新版本)it looks like SSH is supported on Windows。在这次编辑中,git2r
的最新版本是 0.15,所以如果您在 Windows 上没有 SSH 支持,请尝试更新 git2r
(向 zeehio 大声疾呼以获取新闻)。
安装 LibSSH2 后,您需要重新安装 git2r
包以启用 SSH 传输(因为它是 enabled/disabled 在包构建期间).
来源
关于 GitHub 的问题:
为什么我需要 LibSSH2? git
不会用吧?
你说得对! git
不使用它(据我所知)。但是,libgit2,它是 git2r
使用的纯 C git
API 实现。
我写了一个 R 包,我保存在 SSH 服务器上的(裸)git 存储库中,我希望能够在本地机器上安装它而不需要克隆存储库手动。
我尝试了以下操作:
devtools::install_git("ssh://user_name@remote/path/to/repository")
但我收到错误
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
我在 Windows 7 机器上,使用 R 3.1.2、git2r 版本 0.11.0 和 devtools 版本 1.9.1。任何帮助将不胜感激。谢谢!
运行 我自己进入这个问题。我知道这个问题有点老了,但是对于其他 运行 遇到同样问题的人(比如我),这是我发现的。
问题
可能您没有 git2r
(devtools
用于与 git
交互的包)用于通过 SSH 通信的库。
解决方案
安装它。下面的示例假设 Ubuntu.
sudo apt-get install libssh2-1 libssh2-1-dev
git2r
使用名为 LibSSH2 的库来启用 SSH 传输。如果你在 Linux,你可以使用你的包管理器安装它。 注意 如果您使用 Windows, 截至 git2r
还不支持 SSH 协议:/git2r
版本 0.11.0(使用 libgit2
的更新版本)it looks like SSH is supported on Windows。在这次编辑中,git2r
的最新版本是 0.15,所以如果您在 Windows 上没有 SSH 支持,请尝试更新 git2r
(向 zeehio 大声疾呼以获取新闻)。
安装 LibSSH2 后,您需要重新安装 git2r
包以启用 SSH 传输(因为它是 enabled/disabled 在包构建期间).
来源
关于 GitHub 的问题:
为什么我需要 LibSSH2? git
不会用吧?
你说得对! git
不使用它(据我所知)。但是,libgit2,它是 git2r
使用的纯 C git
API 实现。