R CMD build。失败:“参数的长度为零”
R CMD build。在我的程序包上失败,输出以下无效:R CMD build。失败:“参数的长度为零”,r,r-package,R,R Package,R CMD build。在我的程序包上失败,输出以下无效: * checking for file ‘./DESCRIPTION’ ... OK * preparing ‘myPackage’: * checking DESCRIPTION meta-information ... OK * cleaning src * checking for LF line-endings in source and make files and shell scripts * checking for e
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘myPackage’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
Error in if (dep$op != ">=") next : argument is of length zero
Execution halted
RStudio还提供了无用的输出:
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘myPackage’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
Error in if (dep$op != ">=") next : argument is of length zero
Execution halted
错误:生成目录不包含说明
文件,因此无法作为包生成
生成目录:~/myPackage
描述文件显然存在
这是我的描述文件:
我的软件包结构有什么问题?更新2020-04-27
从目前的svn版本78311开始,这个问题已经过时了-内部函数工具::。如果未给出>=的话,split_描述现在只会删除R依赖项
这是此错误报告的结果:
与R版本4.0.0及更早版本相关
依赖项:R必须具有R版本依赖项:
Depends: R (>= 3.0.0)
或者任何合适的
这一点载于:
在没有版本规范的情况下声明对R的依赖是没有意义的,也没有对包库的依赖:这是一个R包,包库总是可用的
因此,如果我的包没有其他依赖项,我也可以删除这一行
这样,构建就立即完成了
虽然现在回想起来这一点很清楚,但也许找出问题所在的途径也能说明问题,因为这条特定的错误消息没有给我任何搜索结果:
if dep$op中出错!=>=下一步:参数的长度为零
当然看起来像R代码一样熟悉-很明显,dep$op缺少/由于某种原因未声明的内容。不清楚的是执行了什么代码/是什么函数产生了这个错误
但是,无论它是什么代码,都必须在里面,这样我们就可以:
试试GitHub的存储库内搜索吧,由于web搜索中通常会删除各种分隔符/其他字符,因此消息可能很难匹配
克隆repo并在源代码中更灵活地使用grep等,但如果您还没有完整的R源代码,则需要下载它
今天,我很幸运地在两个文件中获得了a;src/library/tools/R/build.R看起来像在前端
以下是找到该代码段的区域:
ixup_R_dep <- function(pkgname, ver = "2.10")
{
desc <- .read_description(file.path(pkgname, "DESCRIPTION"))
Rdeps <- .split_description(desc)$Rdepends2
for(dep in Rdeps) {
if(dep$op != '>=') next
if(dep$version >= package_version(ver)) return()
}
这在tools包中,因此帮助器功能可用,例如tools::。read_description
这样,就很容易看出Rdeps正在捕获描述的Depends:R部分,并且它也希望找到一个版本标签;dep$op是应用于依赖项的运算符。Update 2020-04-27
从目前的svn版本78311开始,这个问题已经过时了-内部函数工具::。如果未给出>=的话,split_描述现在只会删除R依赖项
这是此错误报告的结果:
与R版本4.0.0及更早版本相关
依赖项:R必须具有R版本依赖项:
Depends: R (>= 3.0.0)
或者任何合适的
这一点载于:
在没有版本规范的情况下声明对R的依赖是没有意义的,也没有对包库的依赖:这是一个R包,包库总是可用的
因此,如果我的包没有其他依赖项,我也可以删除这一行
这样,构建就立即完成了
虽然现在回想起来这一点很清楚,但也许找出问题所在的途径也能说明问题,因为这条特定的错误消息没有给我任何搜索结果:
if dep$op中出错!=>=下一步:参数的长度为零
当然看起来像R代码一样熟悉-很明显,dep$op缺少/由于某种原因未声明的内容。不清楚的是执行了什么代码/是什么函数产生了这个错误
但是,无论它是什么代码,都必须在里面,这样我们就可以:
试试GitHub的存储库内搜索吧,由于web搜索中通常会删除各种分隔符/其他字符,因此消息可能很难匹配
克隆repo并在源代码中更灵活地使用grep等,但如果您还没有完整的R源代码,则需要下载它
今天,我很幸运地在两个文件中获得了a;src/library/tools/R/build.R看起来像在前端
以下是找到该代码段的区域:
ixup_R_dep <- function(pkgname, ver = "2.10")
{
desc <- .read_description(file.path(pkgname, "DESCRIPTION"))
Rdeps <- .split_description(desc)$Rdepends2
for(dep in Rdeps) {
if(dep$op != '>=') next
if(dep$version >= package_version(ver)) return()
}
这在tools包中,因此帮助器功能可用,例如tools::。read_description
这样,就很容易看出Rdeps正在捕获描述的Depends:R部分,并且它也希望找到一个版本标签;dep$op是应用于依赖项的运算符