2011-09-24 16 views
10

さまざまなRパッケージの異なるインストール場所の背後にあるロジックは何ですか?私は、Linuxマシン上のいくつかの異なる場所にパッケージをインストールしているようです。これは典型的な振る舞いであり、もしそうなら、/ usr/lib/R/libraryと/ usr/lib/R/site-libraryにパッケージをインストールする合理的なものは何ですか?私は本当にパッケージがどこにインストールされているかは気にしませんが、私のシステム上のさまざまな場所にインストールを広めるのは馬鹿しくなります。LinuxでのRパッケージのインストール場所のロジック

以下のようなコメントがあります。これは、/ usr/lib/R/site-libraryがDebianパッケージのパッケージであることを示唆しているようですが、他の2つのディレクトリの目的を説明するものではありません。また、/ usr/lib/R/libraryをリストの最後に設定すると、install.packages()のデフォルトのディレクトリにならないのですか?

# edd Apr 2003 Allow local install in /usr/local, also add a directory for 
#    Debian packaged CRAN packages, and finally the default dir 


> .libPaths() 
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"  
[3] "/usr/lib/R/library"  

答えて

8

マット、

あなたは(すべてのLinuxディストリビューション)ジェネリックに固有の(Debianの/ Ubuntuの)から間違った方法を一般化します。

この特別な設定は、Debianを使用している2人のRコアメンバー(これはUbuntuの黎明期前)に私に示唆されました。これはではなく、であり、マニュアルでは見つからないのはR幅の推奨事項ではなく、RパワーユーザーによるDebianシステムとDebian-likeシステムでの特定の推奨事項です。

基本的な考え方は、パッケージ管理システム(例えばapt-getdpkgによって処理されるように....、/usr//var/の分離に完全に忠実であり続けるために

  • です... /usr/local/lib/R/site-libraryはモミを取得するように、これらの2条決してミックス

  • :)一方で、及び/usr/local/...など一方、ユーザーによるこれ.libPaths()によって放出されると、リスト内のTスポットは、このようにパッケージ化(に含ま推奨前の時点

  • よう/usr以下

    我々はRの間の分離を得るごとに/usr/local/の下に終わるそのユーザーがインストールしたパッケージを確保し、デフォルトになりますboot,grid,lattice、...)内/usr/lib/R/library、そしてその他すべてパッケージ管理がr-cran-*/usr/lib/R/site-libraryのパッケージ管理によって制御されています。だからr-cran-xml

が終わる、またはr-cran-zoo、または...私はまだ分割が素晴らしいだと思う、と私はDebianのRパッケージでこの設定を維持する理由です。

マルチユーザーオペレーティングシステムでは、すべてのユーザーに対してサイト全体にわたるローカルパッケージを用意することをお勧めします。

+0

よろしくお願いいたします。私は、比較的新しいLinux(Ubuntu)のユーザーが把握しなかった分割の理由があると考えました。 –

関連する問題