5

有没有人有一个链接来明确说明如何安装和配置必要的乳胶包以在 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

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

该线程提供了 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 版本的包,

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

  1. 正如文森特建议的那样,手动对每个 , 等进行符号链接texi2pdftexi2dvi这是因为 R/usr/local/bin在函数中具有默认位置tools::texi2dvi

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

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

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

4

3 回答 3

2

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

ln -s /usr/bin/texi2dvi /usr/local/bin/texi2dvi
ln -s /usr/bin/texi2pdf /usr/local/bin/texi2pdf
于 2015-03-24T17:37:45.893 回答
0

在我的 Lion 系统which texi2pdf上,终端/bash 提示符和 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-(invisible) 文件中的第一行:

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 建议不要使用任何包安装程序,但是在如何安装支持许多有趣且非常有用的 R 包的各种外部包的工作示例的方式上,让我们其他人很少使用 UNIX。所以我感受到你的痛苦,但我不是竞选总统。

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

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

希望我能提供保证,但如果它破坏了,唯一的保证就是你可以保留所有的碎片。

于 2015-03-21T01:10:06.013 回答
0

我在使用 Mavericks 10.9.5(出厂配置)和 R 3.1 时遇到了类似的错误消息。

原来我没有pdfLaTex。我去了这个页面:http : //tug.org/mactex/并下载了MacTex安装包。它很大(> 2GB),但在我安装它之后,我的 R 包构建问题就消失了。

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

于 2015-07-14T05:23:07.077 回答