R软件包CRAN注释,用于测试中的软件包依赖性和警告

约翰

我打算将我的第一个软件包提交给CRAN。我听说您不应有任何错误,警告或注释。但是,我得到的注释说明包依赖关系太多:

“导入包括24个非默认程序包。从这么多程序包中导入会使该程序包易受其中任何一个变得不可用的影响。请尽可能多地移至“建议”并有条件地使用。”

  1. 关于CRAN提交,这是我必须解决的问题吗?
  2. 声明所有/大多数使用的软件包都可以很好地维护是可以的,这是否有所不同?
  3. 是否有可能将tidyverse用作依赖项而不是每个单独的程序包(我理解这在一定程度上违反了限制的目的;尽管限制为20的程序包无论如何还是感觉很武断,并且重点也应该放在合理使用上-维护的软件包)。

测试中的警告

我已经为该程序包创建了测试用例;但是,为了保持大小限制,我需要使用的案例少于通常使用的案例。并且在运行测试时会产生不同的警告。提交CRAN时可以具有这些与测试相关的警告吗?

提前致谢!约翰

卡尔·威索夫特

在大多数情况下,假设您通过,“注释”不会自动导致审阅者拒绝您的提交R CMD CHECK --as-cran [yourpackage]在这种情况下,我会忠告于此。
首先,决定你是否真的,真的需要所有这些进口可言,更不用说作为imports那看起来确实是一个很大的集合。例如,确保您不能调用被引用的程序包A,B,C和D中的某些函数,而不是调用包K,Q和T中的类似函数(从A到X列出引用)。如果您仅使用软件包中的一个独立函数,即不依赖于该软件包中任何其他项目的函数,请从此处复制源代码,并注明出处,并将其复制到软件包的源目录中。

其次,仅在需要它们才能使您的函数能够执行时才导入它们,而不管其参数列表如何。仅支持特定“模式”或选项的软件包应移至Suggests

我引用了文档“ R_exts”的相关部分,希望您已经阅读以下内容。

必须在“依赖”或“建议”或“导入”之一中列出成功对软件包进行R CMD检查所需的所有软件包7。用于有条件地运行示例或测试的软件包(例如,通过if(require(pkgname)))应列在“建议”或“增强”中。(这使检查人员可以确保安装了完整检查所需的所有软件包。)尤其是,为进行精益安装,应在“建议”而非“ Depends”中列出提供“仅”示例或小插图数据的软件包。可能。库在加载软件包并安装时会使用'Depends'和'Imports'字段中的版本依赖性,install.packages将检查'Depends','Imports'和(Suggests')字段的版本。这些字段中的信息的完整性和准确性越来越重要:例如,它用于计算哪些软件包依赖于更新的软件包以及哪些软件包可以安全地并行安装。此方案是在所有程序包都具有名称空间之前开发的(2011年10月为R 2.14.0),并且一旦实施就改变了良好实践。如今,“依赖”字段很少使用,仅用于打算放在搜索路径上以使最终用户可以使用其工具的软件包(而不是软件包本身):例如,有意义的是包gridExtra希望提供包晶格的功能。几乎总是在'Depends'中提到的软件包也应该从NAMESPACE文件中导入:这样可以确保当某些其他软件包导入当前软件包时,这些软件包中任何需要的部分都可用。“导入”字段中不应包含不是从(通过NAMESPACE文件或::或:::运算符)导入的软件包,因为要安装当前软件包,必须安装该字段中列出的所有软件包。(这通过R CMD检查进行检查。)包中的R代码应调用库或仅需特殊要求。对于“ Depends”中列出的软件包,永远不需要这种调用,因为它们已经在搜索路径中了。在使用了其功能的函数中,对“建议”中列出的软件包使用require调用是一种常见的做法,但是如今最好通过::调用来访问此类功能。)包中的R代码应调用库或仅要求特殊。对于“ Depends”中列出的软件包,永远不需要这种调用,因为它们已经在搜索路径中了。在使用了其功能的函数中,对“建议”中列出的软件包使用require调用是一种常见的做法,但是如今最好通过::调用来访问此类功能。)包中的R代码应调用库或仅要求特殊。对于“ Depends”中列出的软件包,永远不需要这种调用,因为它们已经在搜索路径中了。在使用了其功能的函数中,对“建议”中列出的软件包使用require调用是一种常见的做法,但是如今最好通过::调用来访问此类功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

增强R软件包版本依赖性的上限

来自分类Dev

NuGet软件包GAC依赖性

来自分类Dev

如何确定旧版npm软件包的依赖性

来自分类Dev

解决安装rpm软件包的依赖性

来自分类Dev

以下软件包具有未满足的依赖性,因此无法初始化软件包信息

来自分类Dev

Aptitude-删除X11类别中的所有软件包,但特定软件包的依赖性除外

来自分类Dev

如何确定哪些软件包依赖于R中的给定软件包?

来自分类Dev

CRAN软件包提交

来自分类Dev

软件包中的IntelliSense和三斜杠注释

来自分类Dev

expss软件包中的重要性测试行

来自分类Dev

R:构建软件包时的警告

来自分类Dev

R:构建软件包时的警告

来自分类Dev

R软件包中的ggplot2:CRAN测试期间的注意事项

来自分类Dev

修复安装NPM软件包的上游依赖性冲突

来自分类Dev

以下软件包具有未满足的依赖性:mariadb-server

来自分类Dev

apt-get无法正确解决Debian / Ubuntu软件包对固定版本的依赖性

来自分类Dev

安装cnijfilter-mp550series软件包时未满足依赖性

来自分类Dev

无法安装mysql-server-5.5 /以下软件包的依赖性不足

来自分类Dev

安装.deb文件后,以下软件包具有未满足的依赖性

来自分类Dev

以下软件包具有未满足的依赖性!

来自分类Dev

安装HHVM“以下软件包具有未满足的依赖性”

来自分类Dev

以下软件包具有未满足的依赖性:libpulse-dev

来自分类Dev

apt-get autoremove看不到已删除软件包的依赖性吗?

来自分类Dev

无法更新/安装curl(“以下软件包具有未满足的依赖性”)

来自分类Dev

尝试安装Flask-未满足的软件包依赖性

来自分类Dev

无法安装任何内容-以下软件包具有未满足的依赖性

来自分类Dev

卸载gcc时,以下软件包具有未满足的依赖性

来自分类Dev

以下软件包具有未满足的依赖性:mysql-server

来自分类Dev

升级到Ubuntu 18.04失败后如何解决软件包依赖性?

Related 相关文章

  1. 1

    增强R软件包版本依赖性的上限

  2. 2

    NuGet软件包GAC依赖性

  3. 3

    如何确定旧版npm软件包的依赖性

  4. 4

    解决安装rpm软件包的依赖性

  5. 5

    以下软件包具有未满足的依赖性,因此无法初始化软件包信息

  6. 6

    Aptitude-删除X11类别中的所有软件包,但特定软件包的依赖性除外

  7. 7

    如何确定哪些软件包依赖于R中的给定软件包?

  8. 8

    CRAN软件包提交

  9. 9

    软件包中的IntelliSense和三斜杠注释

  10. 10

    expss软件包中的重要性测试行

  11. 11

    R:构建软件包时的警告

  12. 12

    R:构建软件包时的警告

  13. 13

    R软件包中的ggplot2:CRAN测试期间的注意事项

  14. 14

    修复安装NPM软件包的上游依赖性冲突

  15. 15

    以下软件包具有未满足的依赖性:mariadb-server

  16. 16

    apt-get无法正确解决Debian / Ubuntu软件包对固定版本的依赖性

  17. 17

    安装cnijfilter-mp550series软件包时未满足依赖性

  18. 18

    无法安装mysql-server-5.5 /以下软件包的依赖性不足

  19. 19

    安装.deb文件后,以下软件包具有未满足的依赖性

  20. 20

    以下软件包具有未满足的依赖性!

  21. 21

    安装HHVM“以下软件包具有未满足的依赖性”

  22. 22

    以下软件包具有未满足的依赖性:libpulse-dev

  23. 23

    apt-get autoremove看不到已删除软件包的依赖性吗?

  24. 24

    无法更新/安装curl(“以下软件包具有未满足的依赖性”)

  25. 25

    尝试安装Flask-未满足的软件包依赖性

  26. 26

    无法安装任何内容-以下软件包具有未满足的依赖性

  27. 27

    卸载gcc时,以下软件包具有未满足的依赖性

  28. 28

    以下软件包具有未满足的依赖性:mysql-server

  29. 29

    升级到Ubuntu 18.04失败后如何解决软件包依赖性?

热门标签

归档