![](/img/trans.png)
[英]R Travis CI error: Package suggested but not available: ‘ridge’
[英]Travis CI R package error in documentation
問候和致敬,
我最近連接了一個包含R包的github倉庫給Travis CI。 我認為存儲庫可以很好地構建,但是,有幾個檢查錯誤出現,我無法在本地安裝的Windows,OS X或Ubuntu 14.04 LTS上復制。
錯誤源自共享以下共同的功能:
具體來說,我從Travis CI收到以下警告:
在文檔對象“內部函數此處”中使用的函數或方法,但不在代碼中:
這不是特別成問題,因為它是一個警告。 前一篇文章使用@method和@export解決了此示例的不同形式。 但是,Rcpp函數不屬於OO類(S3 / S4 / RR)。
但是,當Travis CI開始評估軟件包的示例時,此警告將成為錯誤:
錯誤:找不到函數“這里的內部函數”
並導致構建失敗。 但是,構建本身應該通過檢查,因為函數確實存在。
Travis CI按以下方式使用建議的准則進行配置:
language: r
sudo: required
warnings_are_errors: true
r_packages:
- ggplot2
- devtools
- RcppArmadillo
- knitr
- gridExtra
- grid
r_build_args: "--no-build-vignettes"
r_check_args: "--no-build-vignettes --as-cran"
注意添加了--no-build-vignettes,因為Travis在構建它們時會出錯,因為R代碼調用了docs中列出的內部函數之一。
我相信這是最新的面向公眾的建設: Travis CI報告(v1.0.1)
CRAN第一版的結果: CRAN報告(v1.0.0)
任何想法都會受到歡迎。
我可以復制筆記本電腦上的警告/錯誤(運行OS X)。 我也很確定如果你檢查你的存儲庫,構建tar球然后運行R CMD檢查,你將得到與Travis CI相同的警告/錯誤。 (我假設你只從R Studio中檢查了你的包裹。)
據我所知,問題是您將R/RcppExports.R
和src/RcppExports.cpp
到.gitignore
,這意味着這些文件不在GitHub上。 Travis CI不會為您運行Rcpp::compileAttributes
。
有兩個簡單的解決方案:
R/RcppExports.R
和src/RcppExports.cpp
,並將其與其他所有內容一起提交給GitHub。 這是有道理的,因為這些文件實際上是你的軟件包的一部分,你不應該期望最終用戶在安裝軟件包之前編譯它們。 我認為這是解決這個問題的正確方法。 Rscript -e "Rcpp::compileAttributes()"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.