如何使用 `remotes::install_gitlab` 从分支安装?
How to use `remotes::install_gitlab` to install from a branch?
我想从位于 https://gitlab.aau.at/agebhard/interp . When I select that branch on the web page, the URL changes to https://gitlab.aau.at/agebhard/interp/-/tree/spline 的 Gitlab 存储库中的“spline”分支安装 interp
包。但是,以明显的方式使用 URL 会产生错误:
remotes::install_gitlab("agebhard/interp",
subdir = "-/tree/spline",
host = "https://gitlab.aau.at")
#> Error: Failed to install 'unknown package' from GitLab:
#> cannot open URL 'https://gitlab.aau.at/api/v4/projects/agebhard%2Finterp/repository/files/-%2Ftree%2Fspline%2FDESCRIPTION/raw?ref=HEAD'
由 reprex package (v2.0.1.9000)
创建于 2022-02-09
我最终克隆了整个存储库,然后使用 git branch
到 select 分支,并在本地安装。但是肯定 remotes::install_gitlab()
会提供一种直接从分支安装的方法吗? install_github()
函数有 ref
到 select 一个分支或标记,但我在 install_gitlab()
.
中没有看到该参数的等效项
您可以只使用 install_git
remotes::install_git(
url = "https://gitlab.aau.at/agebhard/interp.git",
ref = "spline"
)
感谢@danlooo 的回答和一些调试,我找到了使用 install_gitlab
本身的正确方法。您只需将分支放在带有 @
符号的名称末尾,例如
remotes::install_gitlab("agebhard/interp@spline",
host = "gitlab.aau.at")
我想从位于 https://gitlab.aau.at/agebhard/interp . When I select that branch on the web page, the URL changes to https://gitlab.aau.at/agebhard/interp/-/tree/spline 的 Gitlab 存储库中的“spline”分支安装 interp
包。但是,以明显的方式使用 URL 会产生错误:
remotes::install_gitlab("agebhard/interp",
subdir = "-/tree/spline",
host = "https://gitlab.aau.at")
#> Error: Failed to install 'unknown package' from GitLab:
#> cannot open URL 'https://gitlab.aau.at/api/v4/projects/agebhard%2Finterp/repository/files/-%2Ftree%2Fspline%2FDESCRIPTION/raw?ref=HEAD'
由 reprex package (v2.0.1.9000)
创建于 2022-02-09我最终克隆了整个存储库,然后使用 git branch
到 select 分支,并在本地安装。但是肯定 remotes::install_gitlab()
会提供一种直接从分支安装的方法吗? install_github()
函数有 ref
到 select 一个分支或标记,但我在 install_gitlab()
.
您可以只使用 install_git
remotes::install_git(
url = "https://gitlab.aau.at/agebhard/interp.git",
ref = "spline"
)
感谢@danlooo 的回答和一些调试,我找到了使用 install_gitlab
本身的正确方法。您只需将分支放在带有 @
符号的名称末尾,例如
remotes::install_gitlab("agebhard/interp@spline",
host = "gitlab.aau.at")