调用包中的R CMD构建失败,检查R时不应在没有路径的情况下使用

35g0bw71  于 2023-02-26  发布在  其他
关注(0)|答案(1)|浏览(155)

我创建了一个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"

我希望避免将devtoolspkgbuild作为依赖项,因为我希望使元包尽可能的轻。
我已经检查了手册中的1.6,但是没有找到任何相关的内容。是否有任何额外的参数需要传递给R CMD build,以便使其在测试/检查环境中运行?

yacmzcpb

yacmzcpb1#

该消息指的是手册中的以下要点:
不要在你的例子、测试、小插曲、makefile或其他脚本中通过普通的R、Rscript或(在Windows上)Rterm来调用R。
“$(R_HOME)/二进制/Rscript”“$(R_HOME)/二进制$(R_ARCH_BIN)/Rterm”
并加上适当的引号(因为R_HOME可以包含空格,尽管不建议使用)。

相关问题