R 构建包在 zip 上失败
R build package fails on zip
我正在尝试构建包,但包生成失败并出现错误:
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"
错误消息没有提供查找位置的线索。我试过了:
- 正在为文件夹设置 read/write 个文件
- 将文件夹移动到另一个文件夹
问题与 Create zip file: error running command " " had status 127 不同,因为问题出在 zip 过程中。在这种情况下,zip 函数仍然按预期(单独)运行,但构建函数中的特定 zip 命令失败。
我找到的最佳答案是在构建参数中添加“--preclean”。
>devtools::build(binary = TRUE,path=".", args = c('--preclean'))
根据文档,这只会清除以前构建的文件,但它确实解决了错误消息。
我收到这个错误是因为我忘记安装 RTools as required by devtools on Windows。一旦我安装它并重新启动 RStudio,它就起作用了。
我正在回复以提供此问题的更新解决方案我在此处和其他地方找到了关于 SO 的旧回复。我正在使用 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 包。
我正在尝试构建包,但包生成失败并出现错误:
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"
错误消息没有提供查找位置的线索。我试过了:
- 正在为文件夹设置 read/write 个文件
- 将文件夹移动到另一个文件夹
问题与 Create zip file: error running command " " had status 127 不同,因为问题出在 zip 过程中。在这种情况下,zip 函数仍然按预期(单独)运行,但构建函数中的特定 zip 命令失败。
我找到的最佳答案是在构建参数中添加“--preclean”。
>devtools::build(binary = TRUE,path=".", args = c('--preclean'))
根据文档,这只会清除以前构建的文件,但它确实解决了错误消息。
我收到这个错误是因为我忘记安装 RTools as required by devtools on Windows。一旦我安装它并重新启动 RStudio,它就起作用了。
我正在回复以提供此问题的更新解决方案我在此处和其他地方找到了关于 SO 的旧回复。我正在使用 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 包。