27

slidifyR Markdown ファイルから再現可能な HTML5 スライドを簡単に生成できるR パッケージを作成しています。このパッケージは、などのいくつかの既存の HTML5 スライド生成フレームワークのcssとファイルを使用します。現在、これらの外部アセットのダウンロード バージョンを のフォルダーに整理して、インストール時にユーザーが自動的に利用できるようにしています。このアプローチは単純ですが、いくつかの欠点があります。jsdzslidesdeck.jsinst/librariesslidify

  1. これらのフレームワークは、 で常に更新されていgithubます。現在の設定では、これらのフレームワークが更新されるたびに、新しいバージョンのパッケージをプッシュする必要があります。

  2. cssこれらのフレームワークに付属するデフォルトに微調整を加える場合は、特定のカスタマイズjsが失われないように、更新を慎重にマージする必要があります。slidify

これを管理する方法について、いくつかの考えがありました。

  1. これらのライブラリを でパッケージ化しないでくださいslidify。代わりに、functionユーザーが必要なフレームワークを追加できるようにする を提供してください。

  2. inst\librariesこれらのフレームワークを のフォルダに追加しますslidifyが、submodules. 今、submodules誰かがdevtools::install_github.

私の質問は、R パッケージを作成するときに、常に更新される外部の非 R 依存関係を管理するにはどうすればよいですか?

4

2 に答える 2

2

類似した状況の 1 つは、パッケージxlsxXLConnect.

どちらのパッケージも Java ライブラリに依存しています。ライブラリのみを含むxlsxスタンドアロン パッケージを定義 (および依存) します。xlsxjars

このようにして、下流のコードはライブラリから分離されます。

于 2012-11-06T19:23:13.030 に答える
1

を使用して同様の問題を解決しましたgit-subtree。参照してください:ソース管理下のコードで使用されるサード パーティのソースとバイナリの管理

于 2012-07-15T19:31:34.830 に答える