5

MacでRパッケージをビルドするために必要なlatexパッケージをインストールして構成する方法についての明確な指示へのリンクを持っている人はいますか?

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

しかし、私は tar.gz ファイルから実行可能ファイルを Mac にインストールすることに慣れていません。私が見つけた 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. texi2pdfvincent が示唆するように、 、 などのそれぞれを手動でシンボリック リンクしますtexi2dvi(これは、R が関数/usr/local/binのデフォルトとして場所を持っているためですか?tools::texi2dvi

  2. /etc/pathsシステム上のファイルを編集して追加/usr/local/binし、osx システムがバージョン 4.6 バージョンを提供する前に、brew がインストールされた 5.2 バージョンを見つけるようにしました。Rはハードコードされているので、これは必要ないかもしれません?

これにより、「texi *エラーが見つかりません」が解消され、大量のラテックスエラー(UNIXおよびWindowsビルドでは見られない)が発生するため、まだ行き詰まっています。

これは非常にハックに思えるので、もっとクリーンな方法が必要ですか? しかし、現時点では、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 に精通しているわけではありませんが、R がインストールを検出できるように PATH 環境変数を変更できると思います。(互換性があるかどうかは、あなたの質問には多くの詳細が欠けているため、私には言えません。)私の Tex インストールは、https://www.tug.org/mactex/から入手した 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

これは.Rprofile-(invisible) ファイルの最初の行であるため、R セッションの開始時に設定されます。

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 に答える