r - 关于 .Rbuildignore 正确使用 devtools 和/或 RStudio

通过 .Rbuildignore 构建 R 包时,我想排除以下资源:

^.*\.Rproj$
^\.Rproj\.user$
inst/examples
inst/prof
man-roxygen
tests

但我很困惑,有时它似乎有效,有时却无效。

我猜无论我使用的是 devtools::build()devtools::install() 还是点击时发生的任何事情,都必须这样做SHFT + CTRL + B(或 Build >> Build and Reload)在 RStudio 中。

我能找到的唯一相关资源是 this post导致this issue ,但我还没有完全理解。

这是我尝试过的:

  1. 全部加载,然后通过 RStudio 快捷方式构建并重新加载:

    这是我在调用 list.files(file.path(R.home("library"), "mypackage")) 时看到的内容:

    [1] "DESCRIPTION" "examples"    "help"        "html"       
    [5] "INDEX"       "Meta"        "NAMESPACE"   "prof"       
    [9] "R"      
    
  2. 全部加载,然后是 Build and Reload,然后是 devtools::install():

    这是我在调用 list.files(file.path(R.home("library"), "mypackage")) 时看到的内容:

     [1] "DESCRIPTION" "examples"    "help"        "html"       
     [5] "INDEX"       "Meta"        "NAMESPACE"   "prof"       
     [9] "R"           "tests"      
    
  3. devtools::load_all() 后接 devtools::build() 后接 devtools::install():

    这是我在调用 list.files(file.path(R.home("library"), "mypackage")) 时看到的内容:

     [1] "DESCRIPTION" "examples"    "help"        "html"       
     [5] "INDEX"       "Meta"        "NAMESPACE"   "prof"       
     [9] "R"           "tests"    
    

    解压.tar.gz文件并查看目录内容:

     [1] "DESCRIPTION" "man"          "NAMESPACE"  "R"
    
  4. devtools::load_all() 后跟 devtools::build(binary=TRUE) 后跟 devtools::install():

    [1] "DESCRIPTION" "examples"    "help"        "html"       
    [5] "INDEX"       "Meta"        "NAMESPACE"   "prof"       
    [9] "R"           "tests"      
    

    解压.zip文件并查看目录内容:

    [1] "DESCRIPTION" "examples"    "help"        "html"       
    [5] "INDEX"       "MD5"         "Meta"        "NAMESPACE"  
    [9] "prof"        "R"    
    

看到这个也让我有理由相信我仍然没有完全理解 devtools::build()devtools::install() 之间的区别和 install.packages() 在构建包之后;-)

session 信息:

R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=German_Germany.1252 
[2] LC_CTYPE=German_Germany.1252   
[3] LC_MONETARY=German_Germany.1252
[4] LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252    

attached base packages:
[1] compiler  stats     graphics  grDevices utils    
[6] datasets  methods   base     

other attached packages:
[1] mypackage_0.1.0.1

loaded via a namespace (and not attached):
 [1] devtools_1.5    digest_0.6.4    evaluate_0.5.5 
 [4] httr_0.4        memoise_0.2.1   packrat_0.4.0.5
 [7] parallel_3.1.1  RCurl_1.95-4.3  stringr_0.6.2  
[10] tools_3.1.1     whisker_0.3-2  

我正在使用 RStudio 0.98.978

最佳答案

对我有用的是使用 devtools::build 来制作源包,然后是 install.packages

devtools::build() %>% 
  install.packages(repos = NULL, type = "source")

使用 devtools::build(binary = TRUE) 不起作用,因为它调用 R CMD INSTALL 而不是 R CMD build,忽略 .Rbuildignore 文件。同样,RStudio 的“Build & Reload”按钮使用 R CMD INSTALL

https://stackoverflow.com/questions/25559606/

相关文章:

c++ - 如何告诉 CMake 在 Windows 上使用 Clang?

ruby - 安装 Xcode 4.2 后无法使用 native 扩展构建 json (1.6.3)

iphone - Xcode:基于架构的条件build设置(设备(ARM)与模拟器(i386))

build - 团队城市神器限制

java - 构建失败 java.lang.OutOfMemoryError : Java heap

Maven - 如何从一个项目构建多个独立的 Maven 项目

build - 如何使用 CMake 收集源文件而不使用 globbing?

eclipse - 项目 XXX 在其构建路径上没有任何 GWT SDK

java - 即使测试失败,Gradle 也会在测试阶段后执行任务

build - 如何在 Mac 上构建和安装 Valgrind?