インターネットに接続されていない (Linux) マシンに多数のパッケージをインストールする必要があるとします。クランのコピーをダウンロードして、オフラインの場所に持ってきた DVD に焼き付けたとします。
wget ftp://cran.r-project.org/pub/R/src/contrib/*.tar.gz
すべてのソース パッケージとその依存関係の概要を含む PACKAGES ファイルを追加することもできます。
library(tools)
write_PACKAGES()
これをオフラインで使用して、依存関係が解決され、ローカル ファイルからもインストールされるようにソース パッケージをインストールするにはどうすればよいですか? たとえば、かなり深い依存構造を持つパッケージ ggplot2 をインストールしたいとします。ggplot2 のソース パッケージとそのすべての依存関係が、現在の作業ディレクトリでソース パッケージとして利用できるとします。私が行った場合:
install.packages("ggplot2_0.9.1.tar.gz", repos=NULL)
依存関係がまったく解決されないため、これはエラーになります。または:
install.packages(list.files(pattern="*.tar.gz"), repos=NULL)
ただし、これも依存構造を無視し、パッケージをアルファベット順にインストールしようとしますが、これも失敗します。
調べてみましたavailable.packages
がcontrib.url
、依存関係を含むローカルファイルからソースパッケージをインストールする例が見つかりません。