[英]Logic of installation location of R packages under Linux
各種R包的不同安裝位置背后的邏輯是什么? 我似乎在Linux機器上的幾個不同位置安裝了軟件包。 這是典型的行為嗎?如果是這樣,在/usr/lib/R/library
與/usr/lib/R/site-library
安裝軟件包的合理性是什么? 我並不在乎軟件包的安裝位置,但是將安裝分散到整個系統的不同位置似乎有點可笑。
Renviron
在下面有評論,這似乎表明/usr/lib/R/site-library
是針對Debian打包軟件包的,但並未真正解釋其他兩個目錄的用途。 另外,通過在列表中最后設置/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"
馬特
從特定的(Debian / Ubuntu)到通用的(所有Linux發行版),您概括了錯誤的方法。
這個特殊的設置是由兩個使用Debian的R Core成員向我建議的(這是在Ubuntu破曉之前)。 這不是 R范圍的建議,這就是為什么您不會在手冊中找到它的原因,而是R高級用戶的特定建議,該建議將在Debian和類似Debian的系統上實施。
基本思想是
一方面要完全忠實於由軟件包管理系統 (例如apt-get
, dpkg
,...)和/usr/local/...
來處理/usr/
, /var/
,....的分離/usr/local/...
等等,另一方面,這兩個用戶絕不可混用
這樣, /usr/local/lib/R/site-library
就會獲得.libPaths()
發出的列表中的第一位,從而成為默認位置,從而確保用戶安裝的軟件包最終位於/usr/local/
以下上一點
因此,在/usr
我們可以將/usr/lib/R/library
推薦的R的推薦包裝(也包括在基本的R源中: boot
, grid
, lattice
...)與所有其他受包管理控制的 r-cran-*
之間進行分隔/usr/lib/R/site-library
下的r-cran-*
軟件包。 因此,例如r-cran-xml
結束於此處,或r-cran-zoo
或...
我仍然認為拆分非常棒,這就是為什么我在Debian R軟件包中維護此設置。
在多用戶操作系統上,為所有用戶在整個站點范圍內擁有本地軟件包是一個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.