我正在尝试通过R中的SSH (不是HTTPS协议(protocol))使用git2r::clone 克隆私有(private)仓库
git2r::clone("[email protected]:team_name/repo_name.git", "~/dev/")
但是,我不断
Error in 'git2r_clone': unsupported URL protocol
有什么事吗

我已通过SSH通过回购进行身份验证,并且可以在命令行中使用git clone url使用相同的URL进行克隆。我想避免使用https并将我的凭据输入URL。

我确保每个this answer安装libssh2

最佳答案

如果您的git2r安装不支持SSH,因此无法解析git SSH URL,则会发生这种情况。

您可以通过运行来确认
R中的libgit2_features()

如果禁用了SSH,您将看到

$threads
[1] TRUE

$https
[1] TRUE

$ssh
[1] FALSE

要解决此问题,请确保已安装libssh2libgit2。就我而言,我有libssh2,但是我仍然缺少libgit2。在Mac上,您可以
brew install libssh2brew install libgit2

之后,使用以下命令从源代码重新安装git2r
install.packages("git2r", type="source", configure.vars="autobrew=yes")
library(git2r)重新加载git2r。现在,如果您在R中运行libgit2_features(),应该会看到ssh TRUE

08-27 12:46