【问题标题】:Rbuildignore and Excluding DirectoriesRbuildignore 和排除目录
【发布时间】:2012-10-22 08:50:41
【问题描述】:

我有兴趣在构建和安装软件包时排除两个目录 inst\docsinst\examples。我知道一个简单的方法就是将docsexamples 移动到根目录,它们不会被安装。但是,出于其他原因,我想将它们保留在inst

我尝试将以下几行添加到.Rbuildignore

inst/docs
inst/examples

我使用 RStudio v 0.97 和 devtools 从源代码构建和安装包。但是,当我这样做时,我仍然看到 inst\docsinst\examples 已安装。我尝试了不同的正则表达式,但似乎没有任何效果。

我做错了吗?

【问题讨论】:

  • 我也有同样的问题。在 devtools 中使用 install 时,这些文件夹将被忽略。从命令行构建和安装时,这些文件夹将被忽略。但是当使用 RStudio 中的“构建和重新加载”按钮时,文件夹会被安装。似乎是 RStudio 问题
  • 你是对的。我使用了devtools:install,效果很好。我将把这个问题留在这里,以防其他人有同样的问题。
  • 如何查看 .Rbuildignore 文件夹?我好像没找到。

标签: r package


【解决方案1】:

这似乎是 RStudio 的一个问题。使用 devtools 包中的install 似乎会导致文件夹被忽略。直接从命令行构建和安装似乎也会导致文件夹被忽略。然而,RStudio 中的“构建和重新加载”按钮似乎没有考虑到这些文件夹的 .Rbuildignore。

【讨论】:

  • 使用 RStudio 发布 issue
  • @Ramnath 对上述提交的问题有任何答复吗?该链接不再有效,并且仍然遇到 RStudio 忽略 .Rbuildignore
  • @DanielKrizian 我认为如果问题尚未解决,您应该将问题提交给 devtools 或 rstudio。
  • 相同的issue,但更新了链接。
【解决方案2】:

一个旧帖子,但在构建二进制包时似乎仍然是一个问题。以下 hack 似乎有效(即构建源包,然后从该源包构建二进制文件)。

f <- devtools::build("mypackage")
system(paste0("R CMD INSTALL --build ", f))

【讨论】:

    【解决方案3】:

    你可以的

    devtools::use_build_ignore(c("yourfolder1", "yourfolder2", "yourfile"))
    

    【讨论】:

    • 两年后更新:use_build_ignore() 现在是 usethis 的一部分,devtools fxn 已弃用,所以现在改为使用 usethis::use_build_ignore(c("yourfolder1", "yourfolder2", "yourfile"))
    【解决方案4】:

    只是为了更新,截至最新版本,devtools::use_build_ignore 已移至:

    usethis::use_build_ignore(c("yourfolder1", "yourfolder2", "yourfile"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2011-05-04
      • 2015-07-31
      • 1970-01-01
      • 2018-03-01
      • 2013-02-19
      • 2021-12-28
      相关资源
      最近更新 更多