首页 > 解决方案 > CMD 检查工具和不一致的结果

问题描述

R 社区提供了多种工具来检查软件包是否在不同的操作系统下正确安装(例如 Rhub、通过 travis /github 操作的 CI、本地 CMD 检查、devtools::check_win_devel())。

有时,我体验到我通过了一组测试,但没有通过另一组测试。为什么会出现这种情况,是否可以从通过的 cmd 检查(例如通过 github 操作)和失败的测试(例如通过 rhub)中学到一些东西?

标签: rcmdcontinuous-integrationdevtoolscran

解决方案


这是一个开放式的问题,并受制于意见。但是我的 2 美分是,带有 CRAN 标志的本地 cmd 检查是必不可少的,并且除了您的开发环境之外,至少检查一台机器是非常可取的,并且将减少使用 CRAN 的迭代次数。外部机器可以是 RHub、Travis、GitHub Actions 或其他。甚至是您拥有的另一台机器。这很有价值的原因是因为您的开发环境中可能存在隐藏的依赖关系,这些依赖关系在您将包移动到另一台机器之前不会变得明显。最后,没有任何一种预测试技术会像 CRAN 检查一样好。所以你可以通过一切,但仍然无法通过 CRAN 检查。您还可以在一个操作系统上未通过 CRAN 检查,并通过所有其他操作系统。您也可以在一天内通过 CRAN 检查,然后他们更改检查,因此下次您使用相同的代码失败时。最后,您只需尽可能彻底地检查,然后与他们一起迭代直到获得批准。


推荐阅读