2016-04-29 61 views
4

我想建立一个包失败,包产生失败,错误:[R构建软件包上拉链

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

+0

可能重复的[创建zip文件:错误运行命令“”有状态127“)(http://stackoverflow.com/questions/29129681/create-zip-file-error-running-command-had-status-127 ) – nrussell

+0

略有不同。他们的问题真的是用zip方法。我仍然可以单独使用zip方法,但它在构建过程中不起作用。 该解决方案似乎也表明该错误与构建文件有关,并且与zip函数本身无关。 – takje

回答

3

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

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

根据文档,这只会清除以前的版本的文件,但它确实解决了错误信息。