3

私はどうやらそれを期待していないtexi2dvi場所にいるようです。R CMD Rd2pdf/usr/local/bin/texi2dviのは にあり、 で探してい/usr/local/opt/texinfo/bin/texi2dviます:

[KenMacBook:~/git] % \R CMD Rd2pdf missing
Hmm ... looks like a package
Converting Rd files to LaTeX 
Creating pdf output from LaTeX ...
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: /usr/local/opt/texinfo/bin/texi2dvi: No such file or directory
Output:

Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: /usr/local/opt/texinfo/bin/texi2dvi: No such file or directory
Output:

Error in running tools::texi2pdf()

を実行することでこれを回避できR_TEXI2DVICMD=/usr/local/bin/texi2dvi R CMD Rd2pdf、ドキュメントが正しくビルドされます。

.RprofileRStudio ( my を読み取らない.zshrc) やその他のランダムな R セッションなどに設定が表示されるように、その設定を my に入れたいと思います。しかし、次のいずれも my に影響を与えないようです.Rprofile:

Sys.setenv(R_TEXI2DVICMD='/usr/local/bin/texi2dvi')
options(texi2dvi='/usr/local/bin/texi2dvi')

.Rprofileコマンドで読み取れないと思いR CMDますが、正しいですか?設定を配置する適切な場所はありますか?

アップデート:

.RProfileDirk は私が影響を与えることを疑っていることを疑っているのでR CMD Rd2pdf:-)、ここに私の証拠があります:

[KenMacBook:~/git] % tail -n2 ~/.Rprofile
Sys.setenv(TEXI2DVI='/no/where')
cat("End of RProfile\n")

[KenMacBook:~/git] % Rscript -e '2+2'    
End of RProfile
[1] 4

[KenMacBook:~/git] % R CMD Rd2pdf missing
Hmm ... looks like a package
Converting Rd files to LaTeX 
Creating pdf output from LaTeX ...
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: /usr/local/opt/texinfo/bin/texi2dvi: No such file or directory
Output:

Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: /usr/local/opt/texinfo/bin/texi2dvi: No such file or directory
Output:

Error in running tools::texi2pdf()

通常の R セッションではファイルの設定が尊重されますが、TEXI2DVIここでは設定は影響を与えないことに注意してください。

4

3 に答える 3

1

/usr/local/bin/texi2dviにあるはずなので、それは間違っているよう$PATHです。私は持っている

edd@max:~$ grep texi2dvi /etc/R/Renviron
## used for options("texi2dvi")
R_TEXI2DVICMD=${R_TEXI2DVICMD-${TEXI2DVI-'/usr/bin/texi2dvi'}}
edd@max:~$ 

TEXI2DVI環境変数を設定したい場合は、おそらくR を起動する前に start を実行する必要があることに注意してください -- 考えてみてください~/.bash_profile

明示的に設定TEXI2DVIする例を次に示します。

edd@max:/tmp$ TEXI2DVI=/no/where R CMD Rd2pdf Rcpp-package.Rd 
Converting Rd files to LaTeX ...
  Rcpp-package.Rd
Creating pdf output from LaTeX ...
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: 1: /no/where: not found
Output:

Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: 1: /no/where: not found
Output:

Error in running tools::texi2pdf()
edd@max:/tmp$ 

ご覧のとおり、尊重されています。

編集:また、忘れないようRenvironにしましょうRenviron.site。選択肢がたくさんあるので、彼を設定してください。

編集2:あなたが疑っているように~/.Rprofile

edd@max:~$ tail -1 .Rprofile
cat("End of .Rprofile\n")
edd@max:~$ Rscript -e '2+2'
End of .Rprofile
[1] 4
edd@max:~$ 
于 2015-11-30T21:11:47.760 に答える
0

Dirk とのやり取りでいくつかの解決策が生まれましたが、それらはかなり埋もれているため、ここにまとめます。

診断:etc/Renviron古い情報が含まれています。

私の/usr/local/Cellar/r/3.2.2_1/R.framework/Versions/3.2/Resources/etc/Renvironファイル(Homebrewを使用してインストール)には次の行が含まれています:

R_TEXI2DVICMD=${R_TEXI2DVICMD-${TEXI2DVI-'/usr/local/opt/texinfo/bin/texi2dvi'}}

これは、デフォルトの場所にMacTeXをインストールした後、そのパスがRenvironファイル内で凍結された誰か (おそらく私、おそらく Homebrew の R パッケージ作成者) の残骸です。Mytexi2dviは現在 に/usr/local/bin/texi2dviあるため、この値を何らかの方法でオーバーライドする必要があります。

1)$HOME/.Rprofile役に立た$HOME/.Renvironない。

それらは、R がそれらに気付くほどすぐに有効になりません。Roptions("texi2dvi")は、起動時に確認した環境に基づいて設定します。

% tail -n2 ~/.Rprofile
Sys.setenv(TEXI2DVI='/no/where')
options(texi2dvi='/no/where/else')

% cat ~/.Renviron
TEXI2DVI=/no/where/at/all

% R CMD Rd2pdf myPackageDirectory   # Still no joy
Hmm ... looks like a package
Converting Rd files to LaTeX 
Creating pdf output from LaTeX ...
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: /usr/local/opt/texinfo/bin/texi2dvi: No such file or directory
...

スタートアップ ファイルの詳細については、「R セッションの開始時の初期化」を参照してください。ただし、上記のように、オーバーライドに関するドキュメントの情報はR_HOME/etc/Renviron、この状況では正しくないか、不完全です。おそらく、 についてのセクションで修正し、 について何かを含めるR_CHECK_ENVIRON必要がありますが、それが起こっているのかどうかはわかりません。これが解決策ではないことだけはわかっています。R_BUILD_ENVIRONR CMD RD2*

2) $HOME/.zshrc(そして友達も) 助けにはなりません。

OS X では、GUI アプリを起動するときにシェル起動ファイルは参照されません。または使用defaults writelaunchctl setenvして変数を変更し、TEXI2DVIR の起動時に設定されるようにすることもできますlaunchd私は dotfiles のバージョン管理も行っていますが、この設定の一部を、launchctlそこにあることを簡単に思い出すことができないエーテルに貼り付けるのは好きではありません。しかしlaunchctl、おそらくこれに対する1つの解決策です。

3)etc/Renviron.site役に立ちません。

これは驚くべきことです-私はそれがうまくいくと思っていました:

% cat /usr/local/Cellar/r/3.2.2_1/R.framework/Resources/etc/Renviron.site
R_TEXI2DVICMD=/usr/local/bin/texi2dvi
TEXI2DVI=/usr/local/bin/texi2dvi

% \R CMD Rd2pdf myPackageDirectory
Hmm ... looks like a package
Converting Rd files to LaTeX 
Creating pdf output from LaTeX ...
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'Rd2.tex' failed.
Messages:
sh: /usr/local/opt/texinfo/bin/texi2dvi: No such file or directory

Renviron.siteの設定はここでは有効になっていません。せっかちになってきているので、理由を診断しようとしませんでした。

etc/Renviron3)最後の手段としての編集

したがって、これは最終的に機能します:

% grep TEXI2DVI /usr/local/Cellar/r/3.2.2_1/R.framework/Resources/etc/Renviron 
TEXI2DVI=/usr/local/bin/texi2dvi  ## Added by Ken
R_TEXI2DVICMD=${R_TEXI2DVICMD-${TEXI2DVI-'/usr/local/opt/texinfo/bin/texi2dvi'}}

次回Rをアップグレードするときにこれらの設定が失われるため、あまり好きではありません。また、Rのドキュメントには、「「R_HOME/etc/Renviron」自体を変更しないでください」と明確に記載されています。しかし、少なくともそれは機能します。

于 2015-12-01T17:07:27.833 に答える