42

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

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

inst/docs
inst/examples

RStudio v 0.97を使用devtoolsして、ソースからパッケージをビルドおよびインストールします。しかし、私がそれをするとき、私はまだそれを見てinst\docsinst\examplesインストールされます。別の正規表現を試しましたが、何も機能していないようです。

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

4

5 に答える 5

26

できるよ

usethis::use_build_ignore(c("yourfolder1", "yourfolder2", "yourfile"))
于 2017-03-20T15:02:32.840 に答える
18

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

于 2012-11-01T20:35:53.040 に答える
3

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

f <- devtools::build("mypackage")
system(paste0("R CMD INSTALL --build ", f))
于 2016-06-29T22:24:49.557 に答える
3

最新バージョンでは、更新するためだけに次のdevtools::use_build_ignore場所に移動しました。

usethis::use_build_ignore(c("yourfolder1", "yourfolder2", "yourfile"))
于 2020-11-26T01:47:32.117 に答える
0

.Rbuildignoreファイルの各行を正規表現として扱うと、最も一貫した動作が得られることがわかりました。あなたの場合、プロジェクトのルートディレクトリに.Rbuildignoreコンテンツで名前が付けられたテキストファイルを手動で作成します

^inst/docs
^inst/examples

この式は、文字列()^inst/docsで始まるすべてのファイルまたはフォルダーと一致します。 各式に末尾を追加します。これにより、これらのフォルダー内のファイルがパターンによってキャプチャされない(したがって無視されない)可能性があることがわかりました。^inst/docsusethis::use_build_ignore()$

于 2022-01-13T10:08:33.013 に答える