web-dev-qa-db-ja.com

Rbuildignoreとディレクトリの除外

パッケージのビルドとインストール中に、2つのディレクトリinst\docsinst\examplesを除外することに興味があります。簡単な方法は、docsexamplesをルートディレクトリに移動するだけで、インストールされないことを知っています。ただし、他の理由でinstに保持したいと思います。

.Rbuildignoreに次の行を追加してみました

inst/docs
inst/examples

RStudio v0.97とdevtoolsを使用して、ソースからパッケージをビルドしてインストールします。ただし、それを実行すると、inst\docsinst\examplesがインストールされていることがわかります。別の正規表現を試しましたが、何も機能しないようでした。

私は何か間違ったことをしていますか?

35
Ramnath

これはRStudioの問題のようです。 devtoolsパッケージのinstallを使用すると、フォルダーが無視されるようです。コマンドラインから直接ビルドしてインストールすると、フォルダが無視されるようです。ただし、RStudioの[ビルドとリロード]ボタンは、これらのフォルダーの.Rbuildignoreを考慮していないようです。

17
Dason

できるよ

devtools::use_build_ignore(c("yourfolder1", "yourfolder2", "yourfile"))
19

古い投稿ですが、バイナリパッケージをビルドするときにまだ問題があるようです。ただし、次のハックは機能しているようです(つまり、ソースパッケージをビルドしてから、そのソースパッケージからバイナリをビルドします)。

f <- devtools::build("mypackage")
system(paste0("R CMD INSTALL --build ", f))
2
Vincent