我正在写一个通过命令行在R中使用pandoc的函数。如何使用R来检查是否安装了pandoc(我也假设它必须在Windows用户可能遇到的路径上)?
最佳答案
这个建议完全基于我对这个问题的个人经验,即RStudio似乎无法读取Ubuntu系统上.bashrc
文件中的内容。我使用here中描述的cabal install pandoc
方法安装了Pandoc,因为与Ubuntu的软件包管理器相比,我需要更新版本的Pandoc中需要的功能。从终端运行R可以使用Sys.which
如预期那样检测Pandoc,但在使用RStudio时则无法。我不知道这是否是Windows用户的问题!
在这种情况下,一种替代方法/解决方法是实际创建一个典型路径矢量,在该路径中您会期望找到Pandoc可执行文件(在许多用户没有真正在安装程序的位置上感到困惑的前提下)。同样,该信息可以在上面链接的安装页面上找到,以及Windows的典型C:\\PROGRA~1\\...
路径。因此,作为Pandoc的路径,您可能会有类似以下内容的东西:
myPaths <- c("pandoc",
"~/.cabal/bin/pandoc",
"~/Library/Haskell/bin/pandoc",
"C:\\PROGRA~1\\Pandoc\\bin\\pandoc")
# Maybe a .exe is required for that last one?
# Don't think so, but not a regular Windows user
您可以将其与
Sys.which()
(例如Sys.which(myPaths)
)一起使用,并且已经共享了其他一些想法。关于r - 检查是否安装了程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14964457/