在 linux 上让 root 用户可以使用 pandoc

Making pandoc available to root user on linux

我正在尝试将一些 .rmd 文件从远程 linux 框渲染到 .pdf beamer 幻灯片中。这些将是 cron 个工作,因此 su 将是 运行 个工作。

当我以我的用户身份登录该框时,我可以看到 pandoc 已安装并且我的 render() 语句 运行s

我的用户通过 rmarkdown::pandoc_version() 可用的 pandoc 版本是 2.3.1.

当我使用 sudo su 提升到 root 用户并尝试 运行 render() 语句时,出现错误:

我以 root 身份查找 pandoc 并得到一个错误:

I 运行 R 作为 root 并使用 rmarkdown::pandoc_version() 和 get

我尝试了 运行 最后两个命令 on this page 但没有帮助。

如何让 pandoc 可供我的用户使用,也可供 root 用户使用?

当您更改为 root 时,您的 PATH 会发生变化,它不再包含 /usr/local/bin。从which的输出可以看出,它只搜索了/sbin/bin/usr/sbin/usr/bin.

因此,您可以将 /usr/local/bin 添加到您的路径中:作为 root,

export PATH=$PATH:/usr/local/bin

或者你可以 运行 具有显式路径的 pandoc:

/usr/local/bin/pandoc --version