提问人:JeremyC 提问时间:9/22/2023 更新时间:9/23/2023 访问量:47
R CMD 检查 完整的检查需要“checkbashisms”脚本
R CMD check A complete check needs the 'checkbashisms' script
问:
我正处于使用 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 检查代码希望在不依赖 shell 的情况下编写 and 脚本,因为它并非在可能安装包的所有系统上都可用。configure
cleanup
bash
它使用一个脚本来查看这些文件,以确认它们是否可移植编写。但是,它不包含在 R 中,它假定在系统上可用。因此,如果您有 or 脚本,您会收到您看到的警告,但 R 找不到 .checkbashisms
checkbashisms
configure
cleanup
checkbashisms
这意味着有几种方法可以停止消息。您可以安装在 R 可以找到它的地方。它使用环境变量来搜索外部程序,因此您需要确保已安装在其中列出的目录之一中。(可以在 R 中看到该环境变量。checkbashisms
PATH
checkbashisms
Sys.getenv("PATH")
另一种方法是确保你的包不包含 or 脚本。只有那些正在做复杂事情的包才需要这些,通常使用外部库。您在评论中提到自动生成的脚本正在寻找 Stan 模型。这可能意味着您需要这些脚本。configure
cleanup
但是,除非您是在相当低的级别上编写的,否则您的软件包可能足以依赖于另一个使用 Stan 的软件包,例如 .然后,如果找不到 Stan,则其他包将无法加载,您的包也将无法加载。然后,您可以删除,并且不需要安装。RStan
configure
cleanup
checkbashisms
您也可以忽略该消息。CRAN 将已安装,因此他们不会收到该消息,也不会因此而阻止您的包。checkbashisms
评论
instantiate
评论
instantiate
/bin/sh
checkbashisms
#!/bin/sh
#!/bin/bash
./.Rbuildignore
checkbashisms
configure
cleanup
configure
cleanup
instantiate
configure
cleanup
configure.win
cleanup.win