2016-04-05 15 views
4

私はpackratでRパッケージを構築しています。ローカルマシンにインストールされています(フィールドのインポートで指定された)すべての依存関係があれば、パッケージは完全にパッケージ内のpackratライブラリから依存関係をロードする

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

作品で、ローカルに保存されたソースファイルからテストされ、インストールされています。 しかし、依存関係がインストールされていない別のサーバーにそのパッケージをインストールしたいと思います。私はこれをしようとすると、私はエラー

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

を取得し、私も

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

を呼び出すことで、私が作成したpackratバンドルをインストールしようとしたが、私は同じエラーを取得します。

「myPackage」をインストールすると、Rは.libPaths()の最初の要素を検索し、何も見つからず、 "repos = NULL"が指定されているので、パッケージをインストールする場所がありませんエラーがスローされます。

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

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

+0

我々はどこかのパッケージを見つけることができますか?例えばGitHubや他の? –

+0

私はpackratに精通していませんが、あなたの 'DESCRIPTION'ファイルの' Imports: 'に' dplyr'と 'survey'を追加するだけではありませんか? – C8H10N4O2

+0

私はそれを追加しましたが、インポートするにはそれぞれのパッケージの事前インストールが必要です。 – denise

答えて

0

あなたは、あなたがちょうどあなたのパッケージのこのしばらくのインストールを行う必要があり、記述ファイルにインポートされるパッケージのリストが含まれている場合:

install.packages("myPackage",dependencies=TRUE) 
+0

これはCRANからパッケージをインストールした場合、またはすべての依存関係のソースファイルをローカルに保存している場合にのみ有効です。私が達成したいのは、パッケージを1つだけインストールする必要があるということです。このパッケージにすべての依存関係が含まれている内部ライブラリがある場合、その内部ライブラリに名前空間のインポートをポイントする方法があると考えました。技術的には、すべての依存関係を見つけることができるので、Rは適切な場所を検索していないだけです! – denise

+0

私が欲しいのは、ハドリーがここで言及していることです:https://github.com/rstudio/packrat/issues/31#issuecomment-208313921しかし、この問題はまだ解決されていないようです。誰かがこれを手動で解決する方法を知っていれば、私は非常に感謝しています! – denise

関連する問題