【问题标题】:Installing specific R package from specific branch from github repo on travis-ci从 travis-ci 上的 github repo 的特定分支安装特定的 R 包
【发布时间】:2019-10-21 20:51:30
【问题描述】:

我正在开发一个包,它依赖于我仍在 github 上的另一个包。我正在使用 travis-ci 来测试这个包。我在 .travis.yml 文件中添加了以下内容,以从 dev 分支安装 dmdScheme 包:

language: r
r_github_packages: r-lib/remotes#340
r_github_packages: rkrug/dmdScheme#dev

但我在travis 收到以下错误

Installing R packages from GitHub: rkrug/dmdScheme#dev
0.19s$ Rscript -e 'remotes::install_github(c("rkrug/dmdScheme#dev"))'
Error in parse_repo_spec(repo) : 
  Invalid git repo specification: 'rkrug/dmdScheme#dev'
Calls: <Anonymous> -> lapply -> FUN -> parse_git_repo -> parse_repo_spec
Execution halted
The command "Rscript -e 'remotes::install_github(c("rkrug/dmdScheme#dev"))'" failed and exited with 1 during .

远程包已安装。

我的问题:

在命令r_github_packages中指定要使用的分支(或一般ref)的正确语法是什么?

【问题讨论】:

  • 您是否尝试过使用@ 而不是#
  • 我的另一个建议是在您的 DESCRIPTION 而不是 .travis.yml 中指定这一点
  • 感谢@ - 将在一分钟内试用。关于DESCRIPTION:我已经有一个drat repo,我会在master 分支中发布时将它添加到DESCRIPTION - 好吧,我实际上也可以为dev 分支执行此操作。你的意思是Remotes: rkrug/dmdScheme@dev - 对吗?
  • 是的,我就是这么想的。我不知道它是否会起作用,我只知道这是指定 GitHub 依赖项的另一种方式。
  • @ 完美运行。谢谢。不过,我想将它保留在.travis.yml 中,让用户决定要安装哪个版本(我将在矩阵中针对dmdSchememasterdev 进行测试——让我们看看它是否有效。跨度>

标签: r github package branch travis-ci


【解决方案1】:

正如我们在Devtools dependencies vignette 看到的,我们可以使用@ 来指定具体的提交等。所以,你需要:

r_github_packages: rkrug/dmdScheme@dev

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 2018-11-15
    • 2017-02-05
    • 2017-05-20
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多