У меня есть блог Hugo, который скомпилирован с использованием маршрута по умолчанию blogdown::build_site()
.
Я решил renv::
попробовать, потому что некоторые из моих сообщений содержат много сюжетов и склонны зависеть от старых версий пакетов, так почему бы не убедиться, что будущие полные перестройки сайта не вызовут проблем, верно? Помня об этом, я решил, что лучший способ использовать renv
- сделать каждое сообщение в блоге (в /content/post/
) отдельным проектом renv
. Из-за глобального кэширования библиотеки, используемого renv
, это даже не должно приводить к большим потерям памяти.
Теперь блог не компилируется, потому что rmarkdown::render()
(который вызывается build_site()
для каждого сообщения в блоге), кажется, просматривает все дерево каждого сообщения в блоге в поисках файлов Rmd и, конечно же, обнаруживает некоторые из них в папке библиотеки renv
, успешно пытаясь скомпилировать их - и предсказуемо терпит неудачу.
Итак, мой вопрос
- помещает каждое сообщение в блог в свою
renv
среду вопреки общепринятой практике (я только начинаю изучать Renv и друзей)? - если нет, то почему
build_site()
плохо играет сrenv
? Я что-то упускаю? Или я обнаружил серьезную проблему? Или я должен просто отпустить и переключиться на метод создания сайта вручную в блоге?
Эта проблема кажется тривиальной (нам просто нужно остановить render()
прохождение каталога /renv/
), но, насколько я могу судить, это взаимодействие между blogdown и renv кажется неисследованным (я нашел лишь несколько косвенных связанный questions, поэтому я подумал, что сначала могу поискать здесь совета.
Мой сайт построен с использованием 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