RStudio 和 Travis CI 构建检查不匹配 (libudunits2.so)

Ber*_*rdo 4 build github units-of-measurement rstudio travis-ci

特拉维斯CI检测并没有被发现问题,Build > CheckRStudio我的lares图书馆(在Github上找到作为laresbernardo /拉雷斯)。根据 Travis CI 的说法,我最后一次“通过”提交实际上是一个错字更改,因此库的代码应该不是问题;因此,当我devtools::check()为库运行时,我会收到R CMD check succeeded一条包含 0 个错误、警告或注释的好消息。

我已经尝试过消息建议的内容和其他内容:

  • brew install udunits在终端 (macOS) 中运行
  • 通过 CRAN 安装库 install.packages(units)
  • 并通过 Github (dev) 与 devtools::install_github("r-quantities/units", args="--configure-args='--with-udunits2-lib=/usr/local/lib'")
  • devtools::install_github("r-quantities/units", args="--configure-args='--with-udunits2-include=/usr/include/udunits2'")

这是 Travis CI 日志的结尾,也可以在这里找到:https : //travis-ci.org/laresbernardo/lares

(...)
checking for ut_read_xml in -ludunits2... no
configure: error: in `/tmp/RtmpITNXhh/R.INSTALL3d3b9a0f951/units':
configure: error: 
--------------------------------------------------------------------------------
  Configuration failed because libudunits2.so was not found. Try installing:
    * deb: libudunits2-dev (Debian, Ubuntu, ...)
    * rpm: udunits2-devel (Fedora, EPEL, ...)
    * brew: udunits (OSX)
  If udunits2 is already installed in a non-standard location, use:
    --configure-args='--with-udunits2-lib=/usr/local/lib'
  if the library was not found, and/or:
    --configure-args='--with-udunits2-include=/usr/include/udunits2'
  if the header was not found, replacing paths with appropriate values.
  You can alternatively set UDUNITS2_INCLUDE and UDUNITS2_LIBS manually.
--------------------------------------------------------------------------------
See `config.log' for more details
ERROR: configuration failed for package ‘units’
* removing ‘/home/travis/R/Library/units’
Error in i.p(...) : 
  (converted from warning) installation of package ‘units’ had non-zero exit status
Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p
Execution halted
The command "Rscript -e 'deps <- devtools::dev_package_deps(dependencies = NA);devtools::install_deps(dependencies = TRUE);if (!all(deps$package %in% installed.packages())) { message("missing: ", paste(setdiff(deps$package, installed.packages()), collapse=", ")); q(status = 1, save = "no")}'" failed and exited with 1 during .
Your build has been stopped.
Run Code Online (Sandbox Code Playgroud)

我没有想法。是改变stringi还是units图书馆?还是 Travis CI 问题?或者我图书馆里的东西设置不同?

Ber*_*rdo 8

解决了将以下内容添加到.travis.yml文件中的问题!我必须指定需要安装这个库。

addons:
  apt:
    packages:
      - libudunits2-dev
Run Code Online (Sandbox Code Playgroud)

感谢units库的开发人员 Iñaki Ucar提供了非常有用的答案。