在打包/插图构建期间出现"'knitr'not found"错误

Jus*_*tin 10 r knitr

我正在使用knitr来构建一个R包小插图.此过程在R 3.0之前有效,但我无法在R 3.1.1下重建该软件包.

当我尝试时R CMD build收到错误消息:

R CMD build Causata
* checking for file ‘Causata/DESCRIPTION’ ... OK
* preparing ‘Causata’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ...

ERROR Error in loadVignetteBuilder(vigns$pkgdir) :
  vignette builder 'knitr' not found Calls: <Anonymous> -> loadVignetteBuilder
In addition:
  Warning message: In tools::buildVignettes(dir = ".", tangle = TRUE) :
  Files named as vignettes but with no recognized vignette engine:
   ‘vignettes/Causata-vignette.rnw’ (Is a VignetteBuilder field missing?)
Execution halted
Run Code Online (Sandbox Code Playgroud)

我的插图文件有一个VignetteEngine电话 - 这是前三行:

% !Rnw weave = knitr 
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{Model training and export}
Run Code Online (Sandbox Code Playgroud)

我的包描述文件包含一个VignetteBuilder字段:

VignetteBuilder: knitr
Run Code Online (Sandbox Code Playgroud)

我想我正在遵循Rnw小插曲的说明,所以我对我看到的错误信息感到困惑.

顺便说一句,如果我尝试直接构建小插图,那么一切似乎都很完美.此命令生成小插图PDF:

tools::buildVignettes(dir=".", tangle=TRUE)
Run Code Online (Sandbox Code Playgroud)

我的麻烦似乎只有R CMD build.为什么构建不起作用?

这是我的完整包描述文件供参考:

Package: Causata
Type: Package
Title: Analysis utilities for binary classification and Causata users.  
Version: 5.0-1
Date: 2014-10-09
Author: Justin Hemann, David Barker, Suzanne Weller, Jason McFall
Maintainer: Justin Hemann <justin.hemann@nice.com>
Description: The Causata package provides utilities for 
    extracting data from the Causata application, training regression / classification 
    models, and exporting models as PMML for scoring.
Depends: R (>= 2.15.1)
Imports: XML, R.utils, rjson, RCurl, stringr, yaml, boot, foreach, data.table, glmnet, ggplot2, methods
Suggests: knitr, doMC, testthat, pROC, RODBC, RMySQL
VignetteBuilder: knitr
License: GPL
LazyLoad: yes
URL: www.nice.com
Run Code Online (Sandbox Code Playgroud)

Yih*_*Xie 9

根据Josh O'Brien的反馈,我猜你可能和他有同样的问题.如果要添加一些自定义库路径,我建议您~/.Renviron使用环境变量R_LIBS_USER,而不是在~/.Rprofile或中定义库路径Rprofile.site.后者似乎被R CMD build和忽略了R CMD check.