ags*_*udy 12
我没有pandoc来安装,但一般我测试一个程序是否安装如下:
pandoc.installed <- system('pandoc -v')==0
Run Code Online (Sandbox Code Playgroud)
例如,测试是否安装了java:
java.installed <- system('java -version') ==0
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
> java.installed
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
我想您可以使用Sys.which并查看结果是否为空字符串。
pandoc.location <- Sys.which("pandoc")
if(pandoc.location == ""){
print("pandoc not available")
}else{
print("pandoc available")
}
Run Code Online (Sandbox Code Playgroud)
这个建议完全基于我对这个问题的个人经验,RStudio似乎无法读取.bashrc我的Ubuntu系统文件中的内容.我已经使用这里cabal install pandoc描述的方法安装了Pandoc ,因为我需要更新版Pandoc的功能,而不是Ubuntu的包管理器.从终端运行R可以使用预期检测Pandoc Sys.which,但是当使用RStudio时,它不能.我不知道这是否是Windows用户的问题,但不是!
在这种情况下一个替代/解决方法实际上是创造的,你所期望的Pandoc可执行文件被发现(推定,很多用户并不真正与futz围绕下的典型路径矢量那里他们安装程序).此信息同样可在上面链接的安装页面上找到,另外还有C:\\PROGRA~1\\...Windows 的典型路径.因此,您可能会将以下内容作为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
Run Code Online (Sandbox Code Playgroud)
您可以使用哪些Sys.which()(例如Sys.which(myPaths))和已经共享的其他一些想法.