R cmd检查在R 3.1.3升级后没有在mac上找到texi2pdf

时间:2015-03-21 00:17:58

标签: r macos texinfo

是否有人有链接清除如何安装和配置必要的乳胶包以在Mac上构建R包的说明?

我有一些用于在mac服务器上构建和检查R包的脚本。它们似乎工作正常,但升级到R 3.1.3后,许多软件包开始失败

Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'networkVignette.tex' failed.
Messages:
sh: /usr/local/bin/texi2dvi: No such file or directory
Calls: <Anonymous> -> texi2pdf -> texi2dvi
Execution halted

我发现一个线程似乎表明我需要一个比默认安装的更新版本的texinfo(5.2)。显然我在错误的位置安装了错误的版本?

which texi2pdf
/sw/bin/texi2pdf

texi2pdf --version
texi2pdf (GNU Texinfo 5.1) 5234

(在R中运行system('texi2pdf --version')时会报告相同的版本

此主题提供指向texinfo 5.2源集合的链接:

http://r.789695.n4.nabble.com/R-CMD-build-looking-for-texi2dvi-in-the-wrong-place-R-devel-td4701706.html

但是我不熟悉从mac上的tar.gz文件安装可执行文件。我发现的R mac帮助页面建议安装MacTex,我试过但这似乎没有帮助。


**更新:**有关R-SIG-mac邮件列表相关问题的更多讨论: https://groups.google.com/forum/#!topic/r-sig-mac/xjyuFdl5Ezk


更新 这是我目前所在的地方:

  1. 我删除了/sw目录以卸载fink及其所有软件包(无法弄清楚如何升级)

  2. 已安装自制程序

  3. brew install texinfo安装5.2版软件包,

  4. 会生成消息This formula is keg-only, which means it was not symlinked into /usr/local并实际安装在/usr/local/Cellar/texinfo/5.2/bin中,这意味着它不在路径上,R将无法找到它。

    1. 以vincent建议的方式手动对每个texi2pdftexi2dvi等进行符号链接(这是因为R在/usr/local/bin函数中默认有tools::texi2dvi个位置

    2. 编辑了系统上的/etc/paths文件以添加/usr/local/bin,以便在osx系统提供的4.6版本之前找到brew安装的5.2版本。这可能不是必要的,因为R有硬编码吗?

    3. 所有这一切摆脱了“找不到texi *错误”,并给了我一堆乳胶错误(我在unix和windows版本中没有看到)所以我仍然有点卡住了。

      这看起来非常h​​ackish,所以必须有一个更清洁的方式?但这听起来像tex和Mac的东西目前非常粗略? https://tex.stackexchange.com/questions/208181/why-did-my-tex-related-gui-program-stop-working-in-mac-os-x-yosemite

3 个答案:

答案 0 :(得分:2)

这对我在小牛队和优胜美地上都很有用:

ln -s /usr/bin/texi2dvi /usr/local/bin/texi2dvi
ln -s /usr/bin/texi2pdf /usr/local/bin/texi2pdf

答案 1 :(得分:0)

在我的Lion系统上,终端/ bash提示符下的命令which texi2pdf和R.app GUI提示符告诉我,我有该程序:

system("which texi2pdf")
#/opt/local/bin/texi2pdf

这是MacPorts安装的典型位置。我认为/usr/local/bin/是二进制R版本“期望”的内容。我不是那个UNIX精明的人,但我认为您可以修改PATH环境变量,以便R能够找到您的安装。 (它是否兼容我不能说因为你的问题遗漏了很多细节。)我的Tex安装是MacTex,我是从https://www.tug.org/mactex/得到的。我承认有一个拼凑在一起的系统:

system("echo $PATH")
# /opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin:/usr/X11R6/bin

这是在R会话开始时设置的,因为这是我.Rprofile - (不可见)文件中的第一行:

Sys.setenv(PATH="/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin:/usr/X11R6/bin")

我认为/sw/bin/安装意味着fink安装,我几乎没有成功。 Simon Urbanek建议不要使用任何软件包安装程序,但是让我们剩下的UNIX静态知道很少有关于如何安装支持许多有趣且非常有用的R软件包的各种外部软件包的工作示例。所以我感受到了你的痛苦,但我并没有竞选总统。

所以我想你可以在你的R控制台上尝试这个,然后再尝试一个早期不成功的安装:

Sys.setenv(PATH=paste( Sys.getenv()$PATH, # should be the character string of the $PATH
                       "/sw/bin/", sep=":")
            )

希望我能提供保证,但如果它破了,唯一的保证是你能保留所有的部分。

答案 2 :(得分:0)

我使用Mavericks 10.9.5(出厂配置)和R 3.1。

遇到了类似的错误消息

事实证明我没有pdfLaTex。我转到此页面:http://tug.org/mactex/并下载了MacTex安装包。它很大(> 2GB)但是在我安装之后,我的R包构建问题就消失了。

希望这可能会对遇到此错误消息的其他人有所帮助。