系统路径与Sys.getenv('PATH')

时间:2012-02-09 13:29:38

标签: macos r rstudio

这可能会成为一个相当微不足道的问题,但让我感到困惑已有一段时间了。这一切都是在我安装通用文档转换器pandoc并将其添加到我的路径时开始的。因此,当我在Mac OS X上的默认终端上echo $PATH时,它会显示pandoc并且我能够执行它。

但是,当我尝试使用system(pandoc --version)在R会话中调用相同内容时,它无法识别pandoc。进一步检查发现system('echo $PATH')没有返回我在终端上获得的路径。

任何人都可以帮我解决发生的事情吗?我喜欢在RStudio上完成所有工作,因此我希望能直接从内部使用pandoc。因此需要弄清楚这一点。

1 个答案:

答案 0 :(得分:4)

R和bash(毫无疑问是Rstudio)每个都创建了独立的环境。 Terminal.app使用自己的默认PATH设置启动bash会话。当Simon Urbanek最近回答这个问题时,他将提问者提到了R-Mac-FAQ 12.19。他的完整回应是在R-SIG-MAC档案中。在我的邮件客户端上,它显示主题行Re:[R-SIG-Mac] PATH,日期为2012年1月30日。他还将提问者提到:http://developer.apple.com/library/mac/#qa/qa1067/_index.html

正如?EnvVar告诉您:" Sys.getenvSys.setenv在R会话中读取和设置环境变量。"但是你似乎已经意识到了这些功能。