到目前为止,我一直在成功使用travis-ci但是在使用带有R 3.4.0的travis-ci时,在“建立包”部分中出现以下错误时遇到了麻烦:
* installing the package to build vignettes
* creating vignettes ... ERROR
Error in loadVignetteBuilder(vigns$pkgdir) :
vignette builder 'knitr' not found
Calls: <Anonymous> -> loadVignetteBuilder
Execution halted
当我在本地运行R-CMD检查时,它会通过,我不会收到任何错误
这是当前的.travis.yml
language: R
sudo: false
install:
- R -e "0" --args --bootstrap-packrat
cache:
directories:
- $TRAVIS_BUILD_DIR/packrat/src
- $TRAVIS_BUILD_DIR/packrat/lib
packages: true
r_packages:
- covr
after_success:
- Rscript -e 'library(covr); codecov()'
DESCRIPTION中有晕图线:
VignetteBuilder: knitr
knitr也在我的packrat.lock文件中,packrat用于构建.travis.yml。
我尝试过以下无效:
r_check_args: "--no-vignettes"
添加到travis.yml,希望能够跳过小插图构建步骤。install
到before_install
我非常了解构建R软件包,不介意travis-ci所以我不确定我是否理解为什么小插图构建器无法访问knitr软件包。
回购:https://github.com/cormac85/datakindr
特拉维斯:https://travis-ci.org/cormac85/datakindr
答案 0 :(得分:3)
一个潜在的问题涉及进口&#39;和/或&#39;建议&#39;您description file中的部分。
dplyr需要在您的建议中,如果不是进口。
请参阅Hadley的2015 O&#39; Reilly书籍, R Packages :
常见问题:
小插图以交互方式构建,但在检查时,它会因为您知道已安装的缺失软件包而失败。这意味着您忘记在DESCRIPTION中声明该依赖项(通常应该在Suggests中)。
答案 1 :(得分:0)
所以最后我通过从.travis.yml中删除packrat配置并将其替换为正常的包构建配置loadVignetteBuilder()
来完成构建。
我使用的packrat配置是在Travis R Documentation中建议的,并且适用于包中的其他项目,但在构建期间它不适用于public class MyData {
private String time;
private double percent;
//... and so on
}
public MyData readLine( String line ) {
String[] columns = line.split("\t");
MyData md = new MyData();
md.setTime( columns[ 0 ] );
md.setPercent( Double.parseDouble(columns[ 1 ]) );
}
public void readFile( File file ) {
Scanner scanner = new Scanner(file);
List<MyData> myList = new ArrayList<>();
while (scanner.hasNext()) {
MyData md = readLine( scanner.nextLine() );
myList.add( md );
}
}
步骤。