R-Roxygen2不';在重新生成时看不到更新的包定义&;重新加载
例如,作为一个简单的工作示例,假设我构建了以下包R-Roxygen2不';在重新生成时看不到更新的包定义&;重新加载,r,package,roxygen2,R,Package,Roxygen2,例如,作为一个简单的工作示例,假设我构建了以下包Test: # In R\Test.R : #' @import methods #' @exportClass C C <- setClass("C") 在RStudio中执行“构建和重新加载”时,我会得到错误 ==> roxygenize('.', roclets=c('rd', 'collate', 'namespace')) * checking for changes ... ERROR Error in getRef
Test
:
# In R\Test.R :
#' @import methods
#' @exportClass C
C <- setClass("C")
在RStudio中执行“构建和重新加载”时,我会得到错误
==> roxygenize('.', roclets=c('rd', 'collate', 'namespace'))
* checking for changes ... ERROR
Error in getRefClass(class) :
class �C� is defined but is not a reference class
当然,它还不是一个参考类,但在我的更新包中它将是!检查旧的类定义也会引发奇怪的警告:
> getClass("C")
Virtual Class "C" [package "Test"]
No Slots, prototype of class "NULL"
Warning message:
In .recacheSubclasses(def@className, def, doSubclasses, env) :
undefined subclass "C" of class "refObject"; definition not updated
似乎Roxygen忽略了我对C
的新定义,而旧的类定义仍然有效。我怎样才能让Roxygen专注于我的新定义,让我的重建成功
(请注意,此问题并非特定于setClass
——我只是将其用作示例。)
我的设置:
我在RStudio中设置了Roxygen,以便在重建之前运行,这样,如果我的@export
等发生更改,我的命名空间文件将自动更新
- Roxygen2 3.0.0
- 使用roxygen生成(在RStudio中):
- Rd文件
- 对照场
- 名称空间文件
- 运行时自动氧化(在RStudio中):
- R指令检查
- 源代码和二进制包构建
- 构建和重新加载
- 使用roxygen生成(在RStudio中):
- R:3.0.2(飞盘航行)
- IDE:RStudio 0.98.490
- 操作系统:Windows 8.1
> getClass("C")
Virtual Class "C" [package "Test"]
No Slots, prototype of class "NULL"
Warning message:
In .recacheSubclasses(def@className, def, doSubclasses, env) :
undefined subclass "C" of class "refObject"; definition not updated