由于缺少devtools,travis构建失败。

10

我正在尝试设置travis构建,但它失败并显示以下错误:

$ export PKG_TARBALL=$(Rscript -e 'pkg <- devtools::as.package("."); cat(paste0(pkg$package, "_", pkg$version, ".tar.gz"));')
Error in loadNamespace(name) : there is no package called ‘devtools’

我的软件包编译不需要devtools

我已经将devtools添加到DESCRIPTIONSuggests:中,并在.travis.yml中添加了它,但是没有用。

language: r
sudo: required
# System dependencies for HTTP calling
apt_packages:
 - libcurl4-openssl-dev
 - libxml2-dev
r_binary_packages:
  - devtools
install:
  - Rscript -e 'install.packages("INLA", repos="http://www.math.ntnu.no/inla/R/stable")'
我做错了什么?
构建失败的日志文件:https://travis-ci.org/ThierryO/multimput/builds/97625211 软件包源代码:https://github.com/ThierryO/multimput/tree/travis

尝试使用Craig Citro的指南在这里,许多R包都在使用。我很惊讶这在谷歌上没有出现... - nrussell
1
我一直在使用https://docs.travis-ci.com/user/languages/r。它声称是Travis上R的官方支持。在“从r-travis转换”下面,它提到了[r-travis](https://github.com/craigcitro/r-travis)。因此,我忽略了Craig Citro的指南。 - Thierry
我明白。我相信仅遵循官方文档就可以完成这个任务,但我认为上述指南/相关脚本会给你省去很多麻烦(对我来说确实如此)。值得一提的是许多知名程序包都在使用它(例如Rcpp,dplyr等),因此它将来可能会继续得到很好的维护。 - nrussell
许多用户在travis-ci问题列表上报告了devtools安装错误。在回复中,@jimhester建议使用基于容器的构建而不是旧的过程。 - Paul Rougieux
你有没有想出解决方法?我也遇到了与“testthat”相同的问题。 - Eric
1个回答

7
我已经按照官方Travis CI文档的说明,成功地使用.travis.yml使其运行起来。该解决方案有几个组成部分:
  • 手动安装devtools
  • 手动安装CRAN依赖项
  • 手动使用math.ntnu.norstudio.com存储库安装INLA。第二个存储库是必需的,因为第一个仅包含INLA软件包而不包括其依赖项。
构建日志 .travis.yml
language: r
sudo: required
install:
  - Rscript -e 'install.packages("devtools", repos = "http://cran.rstudio.com")'
  - Rscript -e 'install.packages(c("plyr", "geepack", "snowfall"), repos = "http://cran.rstudio.com")'
  - Rscript -e 'install.packages("INLA", repos = c("http://www.math.ntnu.no/inla/R/stable", "http://cran.rstudio.com"))'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接