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

问题描述:

我在运行命令行运行pgfSweave时遇到问题。在pgfSweave手册它指出包必须从源代码安装才能运行为:在Mac上使用“R CMD pgfSweave”导致Rcmd错误

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

和封装出现安装顺利:

R CMD pgfSweave myfile.Rnw 

所以我安装使用。然后我试图运行上述R CMD(直接从bash shell,然后也从一个make文件中),并收到以下错误:

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

我读过说明书,但整个人提这个还没有来问题。我运行v版本2.14.0,OSX 10.5.8和pgfSweave 1.2.1版

(顺便说一句,我要指出,我可以从R内部使用下面的命令,没有问题:

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

但我想使用make文件和命令行做的一切)

pgfSweave手册提供了有关如何可以得到命令行界面和运行一些不错的方向。这里的关键位,从手动(warning: pdf)第13页:

In versions 0.7.0, pgfSweave got an R CMD command line interface. On Unix alikes (including Mac OS X) a symbolic link $R HOME/bin/pgfsweave to $R HOME/library/pgfSweave/exec/pgfsweave-script.R. On Windows a copy of the script is made instead. This script is only installed if pgfSweave is installed from source.

所以,在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') 
+0

非常感谢头向上 - 我让它能够手动创建符号链接。但是,我没有,但是,得到上述“未能安装”的消息 - 即使我从不同的时间重新安装源3包...奇怪。 – Steve 2012-01-18 22:41:16

+0

很高兴听到有效。我以为你会提到错误信息,并且(温和地!)好奇你为什么没有得到它。 – 2012-01-18 22:42:40

+0

经过进一步的思考,我敢打赌,如果你试图从命令行安装软件包,使用'R CMD INSTALL ...',你会看到这条消息。您使用的'install.packages()'调用构造并包装我们对'R CMD INSTALL'的调用,并可能拒绝传递它返回到当前R会话的所有消息。 (我也猜想有一些选项可以使它更加冗长,但我不确定)。 – 2012-01-19 03:41:15