我正在写一个闪亮的应用程序,并已将整个应用程序打包成一个包。让我们将此应用程序/包称为fruit
每次我对应用程序进行更改时,我都会执行以下操作:
library(devtools)
install()
library(fruit)
run_fruit_app()我怀疑我在编辑过程中搞砸了什么,现在运行install()后,弹出以下错误消息:
Running /Library/Frameworks/R.framework/Resources/bin/R CMD INSTALL \
/var/folders/t6/v39yjp39xxxxxx/T//Rtmpxxx/fruit_0.1.0.tar.gz --install-tests
* installing to library ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library’
* installing *source* package ‘fruit’ ...
** using staged installation
** R
Error in parse(outFile) :
/private/var/folders/t6/v39yjp39xxxxxx/T/Rtmpxxx/R.INSTALL11a89xxx/fruit/R/testing.R:1:1: unexpected symbol
1: library
^
ERROR: unable to collate and parse R files for package ‘fruit’
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/fruit’
* restoring previous ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/fruit’
Error in (function (command = NULL, args = character(), error_on_status = TRUE, :
System command 'R' failed, exit status: 1, stdout & stderr were printed> .Last.error.trace
Stack trace:
1. devtools:::install()
2. pkgbuild::with_build_tools(required = FALSE, callr::rcmd("INSTALL", ...
3. callr::rcmd("INSTALL", c(install_path, opts), echo = !quiet, ...
4. callr:::run_r(options)
5. base:::with(options, with_envvar(env, do.call(processx::run, ...
6. base:::with.default(options, with_envvar(env, do.call(processx::run, ...
7. base:::eval(substitute(expr), data, enclos = parent.frame())
8. base:::eval(substitute(expr), data, enclos = parent.frame())
9. callr:::with_envvar(env, do.call(processx::run, c(list(bin, args = real_cmdargs, ...
10. base:::force(code)
11. base:::do.call(processx::run, c(list(bin, args = real_cmdargs, ...
12. (function (command = NULL, args = character(), error_on_status = TRUE, ...
13. throw(new_process_error(res, call = sys.call(), echo = echo, ...
x System command 'R' failed, exit status: 1, stdout & stderr were printed 什么可能是潜在的错误来源?我确实确保我没有忘记结束括号,使用错误的括号,或在错误的工作目录中设置内容。
任何真知灼见都是非常感谢的!
发布于 2020-10-13 06:52:47
正如评论中提到的,我建议您这样做:
library(devtools)
check()
load_all()
run_fruit_app()而不是每次你需要检查的时候都安装包。此外,如果你的代码有问题,check()会告诉你。我猜您的代码中有一个对library()的调用。
最后,我还打包了一个闪亮的应用程序。以防您需要检查某些内容,这是指向存储库https://github.com/tomicapretto/sdeshiny的链接
祝好运!
https://stackoverflow.com/questions/64326123
复制相似问题