【问题标题】:Pandoc causes problem when knit .Rmd file (Raspbian)Pandoc在编织.Rmd文件时导致问题(Raspbian)
【发布时间】:2021-08-07 23:59:27
【问题描述】:

当前项目的目的是在参与者每天多次填写问卷后,以漂亮的可视化方式呈现参与者的日常结果。

我决定使用 R 来计算数据并使用 Rmarkdown 来获得可视化效果。这一切都应该发生在 Raspberry Pi 上。我使用 PHP 文件在网络服务器 (Raspberry) 上创建了一个 .csv 文件(其中包含参与者的问卷数据)。这个 PHP 文件还应该运行一个 Rscript,然后运行 ​​rmarkdown 命令,如下所示:

rmarkdown::render(input = "Testplot.Rmd", output_file = paste0("results_", ID, ".html"), params = (list(ID = ID)))

所以,如果我手动(通过 SSH)运行 Rscript,一切都会正常运行,并且 results_ID.html 会正确生成。

现在的问题是:如果参与者填写问卷并提交他们的数据,PHP 文件使用exec("Rscript /var/www/html/cmdRmd.R, $ID") 运行 Rscript,我总是收到 Pandoc 生成的此错误消息:

with_pandoc_safe_environment(system(paste(shQuote(path), "--version"), 中的错误: 'HOME' 环境变量必须在运行 Pandoc 之前设置。 调用:... FUN -> get_pandoc_version -> with_pandoc_safe_environment。 执行停止

我的猜测是它与 apache 的 www-data 用户有关(将在通过问卷提交数据时使用)。但我不知道如何为 www-data 用户设置一个 'HOME' 环境变量。

有人知道如何解决这个问题吗?

【问题讨论】:

标签: php apache raspberry-pi r-markdown pandoc


【解决方案1】:

您可以在 R 中设置您的环境,例如 Sys.setenv(HOME="/home/YOURHOME/"。确保它对应于您的 shell 中的echo $HOME

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    相关资源
    最近更新 更多