在压缩文件上,R构建软件包失败

4

我正在尝试构建一个软件包,但是生成软件包时出现了以下错误:

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

编译成功,但二进制文件丢失。

编译日志:

> 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命令失败了。

有些微不同。他们的问题实际上是与zip方法有关的。在构建过程中它不能正常工作,但我仍然可以单独使用zip方法。 解决方案似乎也表明错误与构建文件有关,而不是与zip函数本身有关。 - takje
3个回答

4

我之所以出现这个错误,是因为我忘记在Windows上安装RTools,而它是devtools所必需的。一旦我安装了它并重新启动了RStudio,问题就解决了。


4
我找到的最佳答案是在构建参数中添加“--preclean”。
>devtools::build(binary = TRUE,path=".", args = c('--preclean'))

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


0

我在此提供一个更新的解决方案,针对我在这里和其他地方找到的旧回答。我正在使用Windows 10,R版本3.4.3,RTools版本3.4。

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

控制面板>系统和安全>系统>高级系统设置>环境变量

包括“C:/RTools/bin”。

我不得不添加一个新路径,它代替了“C:/RTools/bin”,而是读取“C:/RBuildTools/3.4/bin”。然后至少需要重新启动R,但我继续重启了我的计算机。为确保R中的路径已更新,请打开一个新的R会话,键入并确保“C:/RBuildTools/3.4/bin”在其中。然后,我成功地压缩了我的R软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接