R-4.3.0中git2r克隆私有仓库报错:unsupported URL protocol
### R-4.3.0 ```r > sessioninfo::session_info() ─ Session info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── setting value version R version 4.3.0 (2023-04-21) os Windows 10 x64 (build 19045) system x86_64, mingw32 ui RStudio date 2023-06-23 rstudio 2022.12.0+353 Elsbeth Geranium (desktop) pandoc NA ─ Packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── package * version date (UTC) lib source cli 3.3.0 2022-04-25 [1] CRAN (R 4.3.0) git2r 0.30.1 2022-03-16 [1] CRAN (R 4.3.0) httr 1.4.2 2020-07-20 [1] CRAN (R 4.3.0) R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.1) renv 0.17.3 2023-04-06 [1] CRAN (R 4.3.1) sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.1) [1] C:/.../R/R-4.3.0/library ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
解决方案
1. 从源码编译git2r(推荐)
Windows环境需先安装对应R-4.3.0的Rtools43,然后执行以下代码:
# 卸载现有git2r包 remove.packages("git2r") # 从源码安装并强制启用SSH支持 install.packages("git2r", type = "source", configure.args = "--with-libssh2")
安装完成后,运行git2r::libgit2_features()确认ssh已变为TRUE。
2. 复用R-4.1.3的git2r二进制包(临时方案)
找到R-4.1.3库目录中的git2r文件夹(路径:C:/.../R/R-413/library/git2r),将其完整复制到R-4.3.0的库目录(C:/.../R/R-4.3.0/library/),覆盖现有git2r文件夹。注意:此方法可能存在版本兼容性风险,仅作为临时应急方案。
3. 在renv环境中配置带SSH支持的git2r
如果使用renv管理环境,执行以下步骤:
# 移除当前环境中的git2r renv::remove("git2r") # 从源码安装带SSH支持的git2r并更新renv.lock renv::install("git2r", type = "source", configure.args = "--with-libssh2")
内容的提问来源于stack exchange,提问作者miyene
相关产品推荐
相关产品推荐

