外部のCRANライクなリポジトリを、プロジェクトの利用可能なパッケージとそのバージョンのソースtarballで設定することができます。しかし、デフォルトの振る舞いは、あなたの質問で特定したように、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)これをa)packratの実行に必要なファイルの組み合わせと、b)それらのファイルのうちのどれをgit-repoにコミットするかを選択します。最初の質問に答えるために、私はpackatを既存のRプロジェクトに初期化する方法を説明します。
あなたがpackrat::init()
を実行
、二つの重要な事柄は、(特に)が起こる:
PackageName/packrat/
:などのソースのtarballを含む 1.すべての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がプロジェクトディレクトリから開始された場合)。
必要に応じて、ソースタールボールをリポジトリにコミットするかどうかを選択できます。あなたのgit-repoでそれらを利用できないようにするには、単に.gitignoreにpackrat/src/
を追加します。しかし、git-repoにアクセスする人はパッケージソースコードにアクセスすることができず、ファイルはCRANから、またはソース行がpackrat.lock
ファイル内でどこからでもダウンロードされることを意味します。
あなたの質問から、あなたのレポにpackrat/src/
フォルダの内容をコミットするように聞こえるかもしれません。
メールリストのこのQへの回答:https://groups.google.com/d/msg/packrat-discuss/BDPQoHQOqcw/WASTdOEJZrYJ – Ben