After trying to build a PDF that worked ~2 weeks ago, no fuss, on a new machine with a fresh install of R, R studio, bookdown
, etc, I have this error:
Similar problem: the command Rscript -e "bookdown::render_book(input='index.Rmd', output_format='bookdown::gitbook', config_file='_py-rse.yml')"
runs fine from the command-line with bookdown 0.19, but fails with bookdown 0.20 (installed today), giving the message Error: Input files not all in same directory, please supply explicit wd
. The configuration file _py-rse.yml
(below) does indeed have files in multiple directories - we have to do this because we are building several books in the same project (that share some chapters and appendices). I'll try again with the next update to bookdown; if the bug persists, I'll try to create a reprex.
book_filename: "py-rse"
language:
label:
fig: "Figure "
tab: "Table "
ui:
chapter_name: "Chapter "
output_dir: "_book/py-rse"
delete_merged_file: false
rmd_files:
- index.Rmd
- py-rse/bash-basics.Rmd
- py-rse/bash-advanced.Rmd
- py-rse/scripting.Rmd
- py-rse/git-cmdline.Rmd
- py-rse/git-advanced.Rmd
- py-rse/automate.Rmd
- py-rse/config.Rmd
- py-rse/errors.Rmd
- py-rse/teams.Rmd
- py-rse/style.Rmd
- py-rse/project.Rmd
- py-rse/testing.Rmd
- py-rse/packaging.Rmd
- py-rse/publish.Rmd
- py-rse/finale.Rmd
# End files
- appendix.Rmd
- LICENSE.md
- CONDUCT.md
- CONTRIBUTING.md
- gloss.md
- py-rse/install.Rmd
- py-rse/objectives.Rmd
- py-rse/keypoints.Rmd
- py-rse/solutions.Rmd
- py-rse/yaml.Rmd
- py-rse/ssh.Rmd
- references.Rmd
- links.md
Just something complementary to Yihui's answer. If I added the line options(bookdown.render.file_scope = FALSE)
to the R markdown file, it did not work. It worked great if this line was added to the ~/.Rprofile
file.
Update: This has been fixed in the dev version of bookdown: https://github.com/rstudio/bookdown You can install it via remotes::install_github('rstudio/bookdown')
.
This might be related to a recent feature in bookdown. Since you didn't provide a reproducible example, my blind guess is that setting options(bookdown.render.file_scope = FALSE)
might fix it. You can set this option in either your Rmd document or ~/.Rprofile
.