我正处于使用 RStudio 编写包的早期阶段。基本包结构是使用 William Landau 的
instantiate
包创建的。
当我单击 Check
按钮时,一切似乎都很顺利,但我收到两个警告,其中一个完整显示:
检查顶级文件...警告完整的检查需要 “checkbashisms”脚本。请参阅“配置和清理”部分 “编写 R 扩展”手册。
(另一个警告完全是关于其他事情的)。
我看到了这个答案:[https://stackoverflow.com/questions/63698128/r-package-check-warning-a-complete-check-needs-the-checkbashisms-script] 但还是不明白该怎么办。我不知道
$PATH
是什么,也不知道如何添加一些东西。
我还看到了这个答案: [ https://stat.ethz.ch/pipermail/r-package-devel/2020q3/005877.html][1]
因此,我将
_R_CHECK_BASHISMS_ = FALSE
添加到我的 .Renviron
文件中,但这没有效果。
我需要做什么才能删除此警告?
R 检查代码希望在不依赖
configure
shell 的情况下编写 cleanup
和 bash
脚本,因为它并非在可能安装了软件包的所有系统上都可用。
它使用名为
checkbashisms
的脚本来查看这些文件以确认它们是可移植编写的。但是,checkbashisms
不包含在 R 中,它假定在您的系统上可用。因此,如果您有 configure
或 cleanup
脚本,但 R 找不到 checkbashisms
,您会收到警告。
这意味着有几种方法可以停止该消息。您可以将
checkbashisms
安装在 R 可以找到的地方。它使用 PATH
环境变量来搜索外部程序,因此您需要确保 checkbashisms
安装在其中列出的目录之一中。 (您可以在 R 中使用 Sys.getenv("PATH")
查看该环境变量。)
另一种方法是确保您的包不包含
configure
或 cleanup
脚本。这些仅适用于执行复杂操作(通常使用外部库)的包。您在评论中提到自动生成的脚本正在寻找 Stan 模型。这可能意味着您需要这些脚本。
但是,除非您的编写水平相当低,否则您的包依赖于另一个使用 Stan 的包可能就足够了,例如
RStan
。然后,如果找不到 Stan,则其他包将无法加载,您的包也将无法加载。然后您可以删除 configure
和 cleanup
并且不需要安装 checkbashisms
。