2015-03-21 5 views
2

В моем пакете R у меня есть несколько предлагаемых пакетов, которые я использую в примерах. Такие как ROracle, RPostgreSQL, RODBC. Сохранение их в предложениях позволяет пропустить их тестирование, но, похоже, это не работает на travis-ci - недавнем language: r.travis-ci R предложил пакет

Я попробовал несколько случаев:
env: _R_CHECK_FORCE_SUGGESTS_=false

env: global: - _R_CHECK_FORCE_SUGGESTS_=false

Ничто не помогает, мой пакет пытается установить предложенные пакеты, кроме того, что вариант я поставил, и что результаты построить ошибку. Вид:

** package ‘ROracle’ successfully unpacked and MD5 sums checked 
configure: error: OCI libraries not found 
ERROR: configuration failed for package ‘ROracle’ 
1: In utils::install.packages(deps, dependencies = NA, Ncpus = threads) : 
    installation of package ‘RODBC’ had non-zero exit status 
2: In utils::install.packages(deps, dependencies = NA, Ncpus = threads) : 
    installation of package ‘ROracle’ had non-zero exit status 
The command "Rscript -e 'options(repos = "http://cran.rstudio.com"); tryCatch({ deps <- devtools::install_deps(dependencies = TRUE) }, error = function(e) { message(e); q(status=1) }); if (!all(deps %in% installed.packages())) { q(status = 1, save = "no") }'" failed and exited with 1 during . 
Your build has been stopped. 

Любой простой способ избежать установки Postgres, Oracle, ODBC и до сих пор используют родной Travis?

ответ

7

Это изменилось некоторое время назад в самом R, и пакеты в Suggests: теперь должны присутствовать при запуске R CMD check. В общей боли, как она работала раньше, но так ...

Теперь, для двух из них вам повезло, как вы можете сделать

install_aptget r-cran-rodbc r-cran-rpostgresql 

но ROracle вам придется установить пакет из источника (или изменить ваш Suggests:).

+0

Спасибо за ответ. Да, это полная боль, я удалю ROracle из примеров. PS. 'devtools :: check (force_suggests = FALSE)' все еще работает в '1.7.0'. Это может быть полезно для пользователей non travis. – jangorecki

+1

Ну _if_ 'devtools' может сделать это надежно, может быть, есть настройка. Вы хотите попробовать установить дополнительные переменные среды, как это происходит? Всякий раз, когда я пытался (и у меня было много проектов в Трэвисе), я терпел неудачу и в итоге либо установил все «Предлагает:», либо уменьшил/удалил их, которые вы предлагаете здесь. –

+0

Забудьте отметить, что 'check (force_suggests = FALSE)' работает с '3.1.2', поэтому он может быть несовместим с' 3.1.3'. В любом случае, если это направление стандартов/проверок пакета dev, я буду следовать и сокращать предложения. Надеюсь, это позволит мне создать виньетку с кусками 'eval = FALSE' и привести примеры там. Спасибо – jangorecki