プロジェクトで利用したいパッケージとそのバージョンのソース tarball を含む外部の CRAN のようなリポジトリを設定することを選択できます。ただし、デフォルトの動作は、質問で特定したように、次に CRAN に目を向けることです。packrat.lock ファイルを確認すると、packrat で使用する各パッケージに対して、というオプションがあることがわかりますsource: CRAN
(CRAN からファイルをダウンロードした場合)。
ローカルに保存されたパッケージ ソース ファイルがある場合、そのパッケージのロックアウトの内容は次のように変更されます。
Package: FooPackage
Source: source
Version: 0.4-4
Hash: 44foo4036fb68e9foo9027048d28
SourcePath: /Users/MyName/Documents/code/myrepo/RNetica
私はあなたの最後の質問について少し不明確です:What files should I include in my git repo as a minimum (e.g., packrat.lock)?
しかし、私はこれを、a) packrat を実行するために存在する必要があるファイルの組み合わせ、および b) それらのファイルのどれを git-repo にコミットする必要があるかとして取り上げます。最初の質問に答えるために、既存の R プロジェクトで packrat を初期化する方法を説明します。
を実行するpackrat::init()
と、(とりわけ) 2 つの重要なことが起こりますPackageName/packrat/
。2. packrat/lib*/
.gitignore ファイルに追加されます。
packrat/lib*/
このことから、以下のものはすべてgit-repo にコミットする必要がないことがわかります。これにより、次の 3 つのファイルがコミットされます。
packrat/init.R
packrat/packrat.lock
packrat/packrat.opts
packrat.lock
バージョン管理システムを通じて他のユーザーと共同作業するために必要です。プライベート ライブラリの同期を維持するのに役立ちます。packrat.opts
packrat にさまざまなプロジェクト固有のオプションを指定できます。get_opts
ファイルは、 とを使用して自動的に生成されますset_opts
。このファイルを git-repo にコミットすると、指定したオプションがすべての共同作業者に対して維持されます。リポジトリにコミットする最終的なファイルは.Rprofile
. このファイルは、プライベート パッケージ ライブラリを使用するように R に指示します (R がプロジェクト ディレクトリから起動された場合)。
必要に応じて、ソース tar ボールをリポジトリにコミットするかどうかを選択できます。git-repo でそれらを利用したくない場合はpackrat/src/
、.gitignore に追加するだけです。ただし、これは、git-repo にアクセスする人は誰でもパッケージのソース コードにアクセスできず、ファイルは CRAN からダウンロードされるか、packrat.lock
ファイル内のソース行が指示する場所からダウンロードされることを意味します。
あなたの質問から、フォルダーの内容をレポにコミットするpackrat/src/
ことが必要なようです。