在Mac上使用“R CMD pgfSweave”会导致Rcmd错误

时间:2012-01-18 04:20:22

标签: r sweave

我在从命令行运行pgfSweave时遇到问题。在pgfSweave手册中,它指出必须从源代码安装软件包才能以下列方式运行:

R CMD pgfSweave myfile.Rnw

所以我安装使用:

install.packages("pgfSweave", type = "source")

并且包装似乎顺利安装。然后我尝试运行上面的R CMD(直接从bash shell运行,也从make文件中运行)并收到以下错误:

/Library/Frameworks/R.framework/Resources/bin/Rcmd: line 61: exec: pgfSweave: not found

我已经阅读了这些手册,但没有提到任何人提到这个问题。我正在运行R版本2.14.0,OSX 10.5.8和pgfSweave版本1.2.1

(顺便说一句,我应该注意到我可以在R中使用以下命令没有问题:

pgfSweave(file = "myfile.Rnw", compile.tex = FALSE)

但我想使用make文件并从命令行执行所有操作)

1 个答案:

答案 0 :(得分:2)

pgfSweave手册为如何启动和运行命令行界面提供了一个很好的方向。这是关键位,来自手册第13页(warning: pdf):

  

在0.7.0版本中,pgfSweave有一个R CMD命令行界面。在Unix上(包括Mac OS X)   符号链接$ R HOME / bin / pgfsweave到$ R HOME / library / pgfSweave / exec / pgfsweave-script.R。   在Windows上,而是创建脚本的副本。仅在安装了pgfSweave时才安装此脚本   来源。

因此,对于Mac OS,您只需在pgfsweave中放置一个名为$R_HOME/bin/的符号链接,指向$R_HOME/library/pgfSweave/exec/pgfsweave-script.R。 ($R_HOME是通过在R命令行键入R.home()获得的目录路径。)


如果您想了解在安装软件包时应该如何实现这些内容的更多详细信息,请查看install-script.R中的脚本$R_HOME/library/pgfSweave/exec/。它包括单独的分支,根据操作系统的类型执行,并以此令人放心的消息结束(如果符号链接的安装失败则打印):

cat('\n***********************\n')
cat('Failed to install custom pgfsweave script:\n')
cat('  Thats ok! You can manually install it later.\n')
cat('***********************\n\n')