You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R包检查时调用R CMD build失败:提示R不可无路径使用

解决R CMD build在检查环境中的路径错误

问题根源

在devtools::check模拟的CRAN检查环境中,直接调用无绝对路径的R命令会被限制,必须指定当前运行的R进程完整路径,否则会触发'R' should not be used without a path的错误。

解决方案

修改代码,用R基础函数获取当前R的绝对路径,替换命令中的R,同时处理路径空格问题:

# 获取当前R可执行文件的绝对路径
r_executable <- file.path(
  R.home("bin"),
  ifelse(.Platform$OS.type == "windows", "R.exe", "R")
)
# 构建带绝对路径的build命令
build_cmd <- sprintf("%s CMD build %s", shQuote(r_executable), tarball)
# 执行命令
a <- system(build_cmd, intern = TRUE)

关键说明

  • 全程使用R基础函数实现,无需引入devtools或pkgbuild依赖,保持元包轻量化。
  • shQuote()用于给路径添加引号,避免Windows系统中路径含空格(如Program Files)导致命令执行失败。
  • R.home("bin")会跨平台返回当前R的二进制文件目录,兼容Windows、macOS和Linux系统。

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:45:37