我正在尝试通过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
要解决此问题,请确保已安装
libssh2
和libgit2
。就我而言,我有libssh2
,但是我仍然缺少libgit2
。在Mac上,您可以brew install libssh2
和brew install libgit2
。之后,使用以下命令从源代码重新安装git2r
install.packages("git2r", type="source", configure.vars="autobrew=yes")
用
library(git2r)
重新加载git2r。现在,如果您在R中运行libgit2_features()
,应该会看到ssh TRUE