多年来,我一直在Linux上使用R roxygen2,用于R目录中混合了.s文件和.R文件的包..s文件不使用roxygen2标记,而.R文件使用.Roxygen2::roxygenize()只处理了.R文件,一切正常.现在在MacOS上,它正在处理所有文件,并在.s文件中的错误标记上抛出错误.我怎样才能回到以前的行为?我用的是roxygen2 7.3.1.
多年来,我一直在Linux上使用R roxygen2,用于R目录中混合了.s文件和.R文件的包..s文件不使用roxygen2标记,而.R文件使用.Roxygen2::roxygenize()只处理了.R文件,一切正常.现在在MacOS上,它正在处理所有文件,并在.s文件中的错误标记上抛出错误.我怎样才能回到以前的行为?我用的是roxygen2 7.3.1.
你还没有发布任何可复制的东西,所以任何答案都是猜测.在之前的回答中,我猜测了,我想我搞错了,所以我删除了那一条.以下是我目前的 idea :
你不能做你要求做的事.
你说你以前在Linux上做了这件事,并将这一变化归咎于使用Mac;但我认为除了操作系统之外,肯定还有其他重要的区别.RO2可能会有一些与平台相关的小差异,但我认为不会有你所描述的那么大的差异.
我猜你说的是Hmisc
美元套餐,我自己也试过了.我看到了这样的警告
areg.s:432: S3 method `plot.areg` needs @export or @exportS3method tag.
当您要求roxygenize()
创建NAMESPACE
文件时,这些警告就会出现,而且它们是不可避免的.对于被视为S3方法的plot.areg
,它应该在NAMESPACE
中提到.在Hmisc
版本中,您有一个手写的NAMESPACE
文件,其中包含
S3method(plot,areg)
如果您要求roxygenize()
创建您的NAMESPACE
文件,但您还要求它忽略areg.s
文件,那么它怎么可能知道要添加该行呢?
因此,您唯一的解决方案是向您的.s
个文件添加标记,或者停止要求roxygenize()
创建NAMESPACE
文件.当我跑的时候
roxygenize(roclets = "rd")
在Hmisc
,一切都很好,手写的NAMESPACE
没有被碰过.