2016-02-19 7 views
5

WindowsコンピュータでR CMD INSTALL --build packageを実行しています。私のパッケージはいくつかのパッケージに依存する他のパッケージをいくつかインポートします。私はすべての依存関係をローカルのr_libsフォルダにインストールしています。R CMDの使用方法依存関係のないインストールを確認しますか?

時々、私のパッケージのソースコードが別のWindowsコンピュータにあることがあります。このコンピュータには、すべての依存パッケージがインストールされているわけではありません。

私はR CMD INSTALL --build packageを使用しようとすると、私は明白なことを得る」ERROR: dependencies 'package a', 'package b', etc, are not available for package"

私の質問は:私は依存性チェックなしとDESCRIPTIONファイルにImportDependsエントリを削除せずにR CMD INSTALL --buildを使用してパッケージをビルドすることはできますか?

--helpを相談した後、私は--no-test-loadオプションが、運を試してみました。

+0

ない私は理解している場合、あなたは依存関係をインストールせずにパッケージをインストールするようにしてください? – nicola

+3

@nicola OPはすべての依存関係をインストールせずにWindowsバイナリをビルドしたいと考えています。 AFAIKは不可能です。 –

+0

@JorisMeys、正しい。私はもう少し実験し、install.packages( "package"、repos = NULL、type = 'source'、INSTALL_opts = " - build")を使ってR内で実行できることを発見しました。それでもR CMD INSTALLを使用しても問題はありませんか? –

答えて

3

私はあなたがCOMPにパッケージの.zipファイルのバイナリバージョンを構築したい数えますすべての依存関係がインストールされているわけではありません。そして、私はあなたを失望させなければならないのではないかと心配しています。

バイナリパッケージのビルドは、まずソースからパッケージがインストールされます(そのため、R CMD INSTALLを使用する必要があります)。作成されたバイナリは、Windowsマシンへのインストールに便利な形式で圧縮されています。ソースからインストール時にチェックされ、見つからない依存関係があれば、あなたが直面しているエラーがスローされます。

Rはソースからのインストール時に依存関係からの情報を必要とするため、 Rにインストールされたパッケージには、Rのより便利な形式でパッケージ情報を含む.rdsファイルのセットが含まれています.NAMESPACEファイルの情報を作成するには、関数がインポートされるパッケージにアクセスすることができます。そうでなければ、名前空間に関する正しい情報を構築することはできません。

唯一のオプションは、ビルドに使用するコンピュータに依存関係をインストールすることです。とにかくそのコンピュータでパッケージを使用したい場合は、とにかくその依存関係をインストールする必要があります。

詳細情報: Rの内部:https://cran.r-project.org/doc/manuals/r-release/R-ints.html#Package-Structure

ライティングRの拡張:https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Package-namespaces

関連する問題