4

packrat で R パッケージをビルドしています。パッケージは完全にテストされ、ローカルに保存されたソース ファイルからインストールされます。

install.packages("myPackage.tar.gz", repos = NULL, type = "source")

すべての依存関係 ([インポート:] フィールドで指定) がローカル マシンにインストールされている場合に機能します。ただし、依存関係がインストールされていない別のサーバーにそのパッケージをインストールしたいと思います。これを実行しようとすると、エラーが発生します

"ERROR: dependencies ‘survey’, ‘dplyr’ are not available for package 'myPackage'"

また、呼び出して作成したpackratバンドルをインストールしようとしました

packrat::bundle(project = 'pathtomypackageproject', file = 'myPackage.tar.gz',
                include.lib = TRUE)

しかし、同じエラーが発生します。

問題は、「myPackage」をインストールすると、Rが.libPaths()の最初の要素を検索し、何も見つからず、「repos = NULL」が指定されているため、パッケージをインストールする場所がないため、エラーが発生することだと思います投げた。

私がまだ回避しようとしている解決策は、すべての依存関係を含むリポジトリをサーバーに転送し、パッケージのインストール時にリポジトリを指すことです。理想的には、myPackage.tar.gz を転送するだけで済みます。

私の質問は、すべての依存関係を見つけることができる内部 packrat ライブラリをポイントし、そこから名前空間をインポートする方法があるかどうかです。

4

1 に答える 1

0

インポートするパッケージのリストを DESCRIPTION ファイルに含めた場合は、パッケージのインストール中にこれを行う必要があります。

  install.packages("myPackage",dependencies=TRUE)
于 2016-04-09T19:45:10.303 に答える