【发布时间】:2015-10-31 19:57:06
【问题描述】:
在我正在开发的包中编辑DESCRIPTION文件后,我无法再使用R CMD构建。 R 似乎无法读取它。
这是错误信息:
$ R CMD build ~/projects/mypackage
* checking for file ‘/home/user/projects/mypackage/DESCRIPTION’ ... OK
* preparing ‘mypackage’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* running ‘cleanup’
Error in .read_description(ldpath) :
file 'mypackage/DESCRIPTION' does not exist
Execution halted
它是相当神秘,不是吗?
该文件当然是在这里,它甚至在第一行被 R 找到。 如您所料,删除DESCRIPTION文件会使该过程在第一次检查时失败:
$ R CMD build ~/projects/mypackage
* checking for file ‘/home/user/projects/mypackage/DESCRIPTION’ ... NO
观察:
- 我尝试从另一个相对路径(
mypackage、.)运行它,但没有成功。 - 在 CI 服务器和新克隆的存储库上也失败了。
-
R CMD check ~/projects/mypackage和R -e "library(devtools); load_all();"运行时没有错误(只有几个不相关的警告) - 我找到的唯一资源是a similar bug affecting windows builds。我不是这种情况。
- 如果我将DESCRIPTION中
Package字段的内容更改为foo,而不更改任何其他内容,则错误变为Error in .read_description(ldpath) : file 'mypackage/DESCRIPTION' does not exist - 有一个清理脚本删除了一堆文件。删除它并不能解决问题。
我正在跑步:
- R 版本 3.2.2 (2015-08-14) -- “消防安全”
- 平台:x86_64-pc-linux-gnu(64 位)(Debian Jessie)
【问题讨论】:
-
找到
DESCRIPTION文件时收到的错误信息是什么?有时错误消息可能会产生误导:我发现我的一个手册页 (function.rd) 失败,因为我认为 ASCI '"' 原来是一个不可接受的 unicode 引号。 -
问题中所述是
Error in .read_description(ldpath) : file 'mypackage/DESCRIPTION' does not exist Execution halted。 -
您是否有清理脚本或以其他方式导致 R 更改工作目录?
-
可能是这样的。我尝试将文件更改为由
create(foo)生成的文件,我得到Error in .read_description(ldpath) : file 'foo/DESCRIPTION' does not exist Execution halted。即使文件夹名称未更改(仅说明中的包字段)。这意味着它正在寻找文件......基于它的内容?? -
删除清理脚本不会改变任何事情。在此之前还有什么可以执行的吗?