R CMD构建:文件描述不存在

时间:2015-10-31 19:57:07

标签: r cran

在我正在开发的包中编辑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。我不是在这种情况下。
  • 如果我将描述中的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)

2 个答案:

答案 0 :(得分:0)

评论我的.Rprofile中的setwd行,所有错误都消失了,真的节省了我的屁股:

#setwd("~/.R/work")

这个错误使我折磨了几天:

Error in tools:::.read_description(file) :
  file 'DESCRIPTION' does not exist

您可以签出https://csgillespie.github.io/efficientR/set-up.html

例如,在.Rprofile中对setwd()的看似无害的调用将破坏devtools的构建和检查功能。

答案 1 :(得分:0)

就我而言,这个 .Rbuildignore 会触发错误

^sccomp\.Rproj$
^\.Rproj\.user$
^\.github
^README*
^dev*

这不会

^sccomp\.Rproj$
^\.Rproj\.user$
^\.github
^README*
^dev

区别在于^dev后面的星号

如果我可以评论,这太令人震惊了,让我浪费了 2 天。我想知道如何通知 R 人