错误:找不到所需的包装卷曲。请运行:install.packages('curl')在Travis CI上停止执行

时间:2019-05-28 15:34:33

标签: r ubuntu travis-ci devops cran

R包运行良好(并通过了CRAN检查),但是当Travis CI运行单元测试时,它会出现

错误
Error: Required package curl not found. Please run: install.packages('curl')
Execution halted

这似乎是Ubuntu特有的问题。我可以看到torch.tensor可以运行sudo apt-get install libcurl4-openssl-dev来解决此问题。问题是我没有访问Ubuntu控制台的权限(因为Travis CI在推送到git后会执行所有操作)-我可以将此代码放在某个地方吗?例如。它可以以某种方式进入.travis.yml吗?如果可以,怎么办?

当前.travis.yml文件只有2行,看起来像这样

language: R
cache: packages

注意

基于here的问题/答案,我尝试将.travis.yml调整为

language: R
cache: packages
before_install:
  - sudo apt-get install libcurl4-openssl-dev

我从构建日志中看到sudo apt-get install libcurl4-openssl-dev已运行,但是无论如何,构建都以与以前相同的方式出错

也请注意

我也尝试过

language: R
cache: packages
before_install:
    -sudo apt-get update

基于this的建议,但仍然存在相同的错误

1 个答案:

答案 0 :(得分:0)

通过在导入中添加curl(即在DESCRIPTION中)解决了问题

例如

Imports: dplyr, gsubfn, stringr, purrr, jsonlite, stats, lubridate, curl

如果您在testthat中有一个辅助文件,请不要忘记也将软件包加载到那里,即简单地library(curl)。然后测试应该能够按预期运行