我创建了一个meta包(meta是指它可以帮助包管理,版本控制等),作为其功能的一部分,它可以创建一个包的.tar.gz
归档文件。a <- system(sprintf("R CMD build %s", tarball), intern = TRUE)
.
当我从会话中交互执行代码时,无论是通过执行roxygen文档的示例部分还是通过从控制台运行测试,它都能正常工作,但当使用devtools::check(document = FALSE)
检查元包时,会抛出以下错误,示例代码无法执行,测试也无法通过...
> tarball <- system.file("examplePackage", package = "myMetaPackage")
> my_custom_function_in_myMetaPackage(pkg = tarball)
Warning in system(sprintf("R CMD build %s", tmp_pkg_dir_new), intern = TRUE) :
running command 'R CMD build /tmp/Rtmpz44MQC/working_dir/RtmpjkjC2T/examplePackage.v20221220' had status 1
[1] "'R' should not be used without a path -- see par. 1.6 of the manual"
我希望避免将devtools
或pkgbuild
作为依赖项,因为我希望使元包尽可能的轻。
我已经检查了手册中的1.6
,但是没有找到任何相关的内容。是否有任何额外的参数需要传递给R CMD build
,以便使其在测试/检查环境中运行?
1条答案
按热度按时间yacmzcpb1#
该消息指的是手册中的以下要点:
不要在你的例子、测试、小插曲、makefile或其他脚本中通过普通的R、Rscript或(在Windows上)Rterm来调用R。
“$(R_HOME)/二进制/Rscript”“$(R_HOME)/二进制$(R_ARCH_BIN)/Rterm”
并加上适当的引号(因为R_HOME可以包含空格,尽管不建议使用)。