【问题标题】:Order of actions in creating a R package with devtools使用 devtools 创建 R 包的操作顺序
【发布时间】:2021-03-05 21:27:22
【问题描述】:

我目前正在为 R 开发一个包。我有函数(当然)、数据集、插图和测试。小插图用Rmarkdown处理,手册用Roxygen2处理,最后,测试用testthat进行(目前一切正常)。

我想完全在 R 中使用devtools 指令开发和完成包。我想知道调用这些函数的最佳顺序。这个时候,我按那个顺序使用

devtools::document("package folder")
devtools::build("package folder")
devtools::install("package folder", upgrade = "never")
devtools::run_examples("package folder")
devtools::test("package folder")
devtools::build_vignettes("package folder") 
devtools::check("package folder", cran=TRUE)

我的问题表明我对这些函数的确切作用缺乏了解。因此,将不胜感激对每个功能的作用进行简要总结。另外,我错过了一些步骤吗?或者上面的一些函数调用是不需要的?

【问题讨论】:

  • 我不使用那些东西,但我很确定devtools::check() 做了你列出的所有东西,你为什么要单独调用它们?
  • 单独运行它们是否有助于定位错误?那样的话,分开运行会不会更方便。同样,devtools::check 是否在执行上述命令之外的任何操作?
  • 您是否阅读过这些功能的帮助页面?看来您只是在要求我们反刍该信息。也许您可以更清楚地了解究竟是什么导致了您的困惑。当问什么是“要求”时,你到底在说什么“要求”?
  • 例如,build 命令生成一个 tar.gz 文件。如果我之前运行install,是否是从 tar.gz 文件安装的包?命令document 生成.Rd 手册页。如果在构建后处理它们,它们是否集成到 tar.gz 文件中?小插图的同样问题。 Writing R extension 官方参考是围绕文件编写的,而不是围绕获取这些文件的过程。
  • ... 从 unrequired 步骤开始:也许built 也通过运行document 来重做文档?如果是这样,那么document 是不必要的。

标签: r devtools r-package


【解决方案1】:

R package 的第 2 章 (The whole game) 详细解释了所有内容。 您缺少但有益的是 load_all(),它将您修改的函数加载到内存中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-14
    • 2015-08-16
    • 2016-10-21
    • 2016-01-28
    • 2013-06-14
    • 2017-08-26
    • 1970-01-01
    • 2019-09-04
    相关资源
    最近更新 更多