У меня есть блог Hu go, который компилируется с использованием маршрута blogdown::build_site()
по умолчанию.
Я решил попробовать renv::
, потому что некоторые из моих сообщений плотно загружаются и склонны зависеть от старых версий пакетов, так почему бы не убедиться, что будущие полные перестройки сайта не вызовут проблем, правильно? Имея это в виду, я решил, что лучший способ использовать renv
- сделать каждый пост в блоге (в /content/post/
) своим собственным renv
проектом. Из-за глобального кэширования библиотеки, используемого renv
, это даже не должно приводить к значительным потерям памяти.
Теперь блог не будет компилироваться, потому что rmarkdown::render()
(который вызывается build_site()
для Кажется, что каждое сообщение в блоге пересекает все дерево каждого сообщения в блоге, ищет файлы Rmd и, конечно, обнаруживает некоторые из них в папке библиотеки renv
, с радостью пытается их скомпилировать - и, как и ожидалось, терпит неудачу.
мой вопрос
- ставит ли каждое сообщение в своем блоге в свою собственную среду
renv
вопреки обычной практике (я только начинаю изучать друзей и друзей)? - если нет, почему
build_site()
плохо играет с renv
? Я что-то пропустил? Или я обнаружил истинную проблему? Или я должен просто позволить go и переключиться на ручной метод создания сайтов в блогах ?
Эта проблема кажется тривиальной (нам просто нужно остановить render()
от обхода /renv/
), но, насколько я могу судить, это взаимодействие между blogdown и renv кажется неисследованным (я обнаружил только некоторые касательно связанные вопросы , так что я подумал, что смогу сначала обратитесь за советом.
Мой сайт построен с использованием Rscript -e "blogdown::build_site(local=FALSE)"
(без использования кнопки в RStudio). Как только этот скрипт начинает отображать Rmd-файлы в дереве библиотеки renv
, он в конечном итоге завершается ошибкой:
$ Rscript -e "blogdown::build_site(local=FALSE)"
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/blogdown/resources/2015-07-23-r-rmarkdown.Rmd
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/bookdown/rstudio/templates/project/resources/01-intro.Rmd
[WARNING] This document format requires a nonempty <title> element.
Defaulting to '01-intro.utf8' as the title.
To specify a title, use 'title' in metadata or --metadata title="...".
Warning message:
The label(s) intro, methods not found
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/bookdown/rstudio/templates/project/resources/02-literature.Rmd
[WARNING] This document format requires a nonempty <title> element.
Defaulting to '02-literature.utf8' as the title.
To specify a title, use 'title' in metadata or --metadata title="...".
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/bookdown/rstudio/templates/project/resources/03-method.Rmd
[WARNING] This document format requires a nonempty <title> element.
Defaulting to '03-method.utf8' as the title.
To specify a title, use 'title' in metadata or --metadata title="...".
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/bookdown/rstudio/templates/project/resources/04-application.Rmd
[WARNING] This document format requires a nonempty <title> element.
Defaulting to '04-application.utf8' as the title.
To specify a title, use 'title' in metadata or --metadata title="...".
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/bookdown/rstudio/templates/project/resources/05-summary.Rmd
[WARNING] This document format requires a nonempty <title> element.
Defaulting to '05-summary.utf8' as the title.
To specify a title, use 'title' in metadata or --metadata title="...".
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/bookdown/rstudio/templates/project/resources/06-references.Rmd
[WARNING] This document format requires a nonempty <title> element.
Defaulting to '06-references.utf8' as the title.
To specify a title, use 'title' in metadata or --metadata title="...".
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/bookdown/rstudio/templates/project/resources/index.Rmd
Rendering content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/cli/doc/pluralization.Rmd
Quitting from lines 15-15 (./../man/chunks/pluralization.Rmd)
Error in file(con, "r") : cannot open the connection
Calls: local ... call_block -> lapply -> FUN -> knit -> readLines -> file
In addition: Warning message:
In file(con, "r") :
cannot open file './../man/chunks/pluralization.Rmd': No such file or directory
Execution halted
Error in render_page(f) :
Failed to render 'content/post/2016-11-18-notes-inorganic-chemistry/renv/library/R-3.6/x86_64-pc-linux-gnu/cli/doc/pluralization.Rmd'
Calls: <Anonymous> -> build_rmds -> render_page
Execution halted
Вот моя сессия:
> sessionInfo()
R version 3.6.2 (2019-12-12)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.4 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.6.2 htmltools_0.4.0 tools_3.6.2 rstudioapi_0.11
[5] yaml_2.2.1 Rcpp_1.0.4.6 rmarkdown_2.1 knitr_1.28
[9] digest_0.6.25 xfun_0.13 packrat_0.5.0 rlang_0.4.5
[13] renv_0.9.3 evaluate_0.14