R 构建包在 zip 上失败

R build package fails on zip

我正在尝试构建一个包,但包生成失败并出现以下错误:

1
2
Warning: running command '"zip" -r9Xq"C:/path/package_name_version.zip"
SEERtools' had status 127 running 'zip' failed

包构建成功,但是二进制文件丢失。

构建日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
> devtools::build(binary = TRUE,path=".")
"C:/Rpath/R-32~1.3/bin/x64/R" --no-site-file --no-environ --no-save --no-restore CMD INSTALL  \\
 "C:\\path" --build

* installing to library 'C:/Libpath/library'
* installing *source* package 'package_name' ...
** R
** data
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* MD5 sums
Warning: running command '"zip" -r9Xq"C:/path/package_name_version.zip" package_name' had status 127
running 'zip' failed
* DONE (package_name)
[1]"./package_name_version.zip"

错误消息没有给出去哪里查看的线索。我试过了:

  • 设置文件夹的读/写文件
  • 将文件夹移动到另一个文件夹

问题与创建 zip 文件不同:错误运行命令 " " 状态为 127,因为问题在于 zip 过程。在这种情况下,zip 函数仍按预期运行(单独),但构建函数中的特定 zip 命令失败。


我收到此错误是因为我忘记在 Windows 上按照 devtools 的要求安装 RTools。一旦我安装它并重新启动 RStudio,它就可以工作了。


我找到的最佳答案是在构建参数中添加"--preclean"。

1
>devtools::build(binary = TRUE,path=".", args = c('--preclean'))

根据文档,这只会清除以前构建的文件,但确实解决了错误消息。


我正在回复为这个问题提供更新的解决方案我正在使用 Windows 10,R 版本 3.4.3,RTools 版本 3.4。

以前的答案建议通过以下方式编辑环境变量:

Control Panel > System and Security > System > Advanced System Settings > Environmental Variables

包括"C:/RTools/bin"。

我必须添加一个新路径,改为"C:/RBuildTools/3.4/bin"。然后至少需要重新启动 R,但我继续并重新启动了我的计算机。要确保 R 中的路径已更新,请打开一个新的 R 会话,键入 Sys.getenv() 并确保"C:/RBuildTools/3.4/bin"在那里。然后我能够成功压缩我的 R 包。