自升级到Mac OSX 10.10以来,从R控制台运行系统命令无法找到已安装的程序

时间:2014-10-21 16:45:03

标签: r macos rstudio

我一直有some weird issues与R(3.1.1)和RStudio(0.98.1079),我怀疑这是因为这些程序在升级到我之后不再引用正确的位置Mac OSX 10.10。

特别是,我似乎无法找到我知道我已安装在计算机上的软件包,以便在R控制台中使用system命令运行。也就是说,在终端窗口中运行man pdflatex会生成PDFLATEX的帮助手册。但是,从R控制台运行system('man pdflatex')会产生错误消息No manual entry for pdflatex.

自从我升级到Mac OSX 10.10后,即使我重新安装了R,RStudio和MacTex,问题仍然存在。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:14)

Yosemite有一个错误,其中一些环境变量(包括PATH)在具有不同值的程序环境中出现两次。例如,您可能会注意到Sys.getenv("PATH")会显示一个路径,而system("echo $PATH")会显示一个完全不同的路径。

我希望你的大部分问题都归咎于这个错误。

您可以立即尝试一些解决方法:

  1. 您可以自己手动转发PATH。试试这个:

    > system2("man", "pdflatex", env=paste0("PATH=", Sys.getenv("PATH")))
    
  2. 或者,您可以从终端启动RStudio:

    $ open /Applications/RStudio.app
    
  3. R和RStudio工程师在过去几天都实施了变通方法。 R(截至3.1.2)和RStudio(截至0.98.1087)的行为应符合您的预期。

答案 1 :(得分:0)

关于类似问题,有很多问题。当您将OS X更新为Yosemite或Sierra并且已安装旧版本的R时,所有这些都会出现。

最简单的解决方案是completely uninstall R(请注意有关使用which R的评论!),然后重新安装。

这也解决了诸如R在终端和GUI中显示不同版本号的问题。