我有兴趣排除两个目录inst\docs,inst\examples同时构建和安装包.我知道一个简单的方法就是运动docs和examples到根目录下,他们将不会得到安装.但是,inst由于其他原因,我想保留它们.
我尝试添加以下行 .Rbuildignore
inst/docs
inst/examples
Run Code Online (Sandbox Code Playgroud)
我使用RStudio v 0.97并devtools从源代码构建和安装包.但是,当我这样做时,我仍然看到inst\docs并inst\examples安装.我尝试了不同的正则表达式,但似乎没有任何效果.
难道我做错了什么?
Sté*_*ent 18
你可以做
devtools::use_build_ignore(c("yourfolder1", "yourfolder2", "yourfile"))
Run Code Online (Sandbox Code Playgroud)
Das*_*son 17
这似乎是RStudio的一个问题.使用installdevtools包似乎会导致文件夹被忽略.直接从命令行构建和安装似乎也会导致忽略文件夹.然而,RStudio中的"构建和重新加载"按钮似乎没有考虑这些文件夹的.Rbuildignore.
.Rbuildignore我发现当将文件的每一行视为正则表达式时,我获得了最一致的行为。在您的情况下,我将在项目的根目录中手动创建一个文本文件,.Rbuildignore并以内容命名
^inst/docs
^inst/examples
Run Code Online (Sandbox Code Playgroud)
该表达式^inst/docs匹配以 ( ^) 字符串开头的任何文件或文件夹inst/docs。 usethis::use_build_ignore()向每个表达式添加尾随$,我发现这可能会导致这些文件夹中的文件不被模式捕获(因此不会被忽略)。