gpt4 book ai didi

r - devtools::install_git 通过 SSH

转载 作者:太空狗 更新时间:2023-10-29 12:45:43 25 4
gpt4 key购买 nike

我已经编写了一个 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 协议(protocol):/git2r 版本开始0.11.0(使用 libgit2 的更新版本)it looks like SSH is supported on Windows以及。在这次编辑中,最新版本的 git2r 是 0.15,所以如果你在 Windows 上没有 SSH 支持,请尝试更新 git2r(向 zeehio 大喊新闻).

安装 LibSSH2 之后,您需要重新安装 git2r 包以启用 SSH 传输(因为它在包构建期间启用/禁用)。

来源

GitHub 上的问题:

为什么我需要 LibSSH2? git 不使用它,对吧?

你是对的! git 不使用它(据我所知)。然而,libgit2 ,这是 git2r 使用的纯 C git API 实现。

关于r - devtools::install_git 通过 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com