#r #shiny #r-package
#r #блестящий #r-package
Вопрос:
Я пишу блестящее приложение и упаковал все приложение в пакет. Давайте назовем это приложение / пакет 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 amp; 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 amp; stderr were printed
Что может быть потенциальным источником ошибок? Я убедился, что не забыл закрыть скобку, использовал неправильную скобку или установил что-то в неправильном рабочем каталоге.
Любая информация очень ценится!
Комментарии:
1. Я рекомендую вам делать
library(devtools); check(); load_all(); run_fruit_app()
это вместо установки каждый раз. Кроме того,check()
сообщит вам, есть ли проблемы с вашим кодом (я предполагаю, что у вас естьlibrary()
вызов внутри кода вашего пакета)2. @TomasCapretto Спасибо! Это действительно решило мою проблему!
3. Отлично, могу ли я опубликовать это как ответ?
4. @TomasCapretto Да!
Ответ №1:
Как упоминалось в комментариях, я рекомендую вам сделать :
library(devtools)
check()
load_all()
run_fruit_app()
вместо установки пакета каждый раз, когда вам нужно что-то проверить.
Кроме того, check()
сообщит вам, есть ли проблемы с вашим кодом. Я предполагаю, что у вас есть вызов library()
где-то в вашем коде.
Наконец, у меня также есть упакованное блестящее приложение. На всякий случай, если вам нужно что-то проверить, это ссылка на репозиторий https://github.com/tomicapretto/sdeshiny
Удачи!