我正在尝试构建一个包,但包生成失败并显示错误:

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"

错误消息没有给出在哪里查看的线索。我试过了:
  • 设置文件夹
  • 的读/写文件
  • 将文件夹移动到另一个文件夹

  • 问题与 Create zip file: error running command " " had status 127 不同,因为问题出在 zip 程序中。在这种情况下,zip 函数仍按预期运行(单独),但构建函数中的特定 zip 命令失败。

    最佳答案

    我发现的最佳答案是在构建参数中添加“--preclean”。

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

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

    关于R 构建包在 zip 上失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36941838/

    10-11 19:53
    查看更多