2016-04-29 27 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')) 

根據文檔,這隻會清除以前的版本的文件,但它確實解決了錯誤信息。