簡體   English   中英

Linux下R軟件包安裝位置的邏輯

[英]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-getdpkg ,...)和/usr/local/...來處理/usr//var/ ,....的分離/usr/local/...等等,另一方面,這兩個用戶絕不可混用

  • 這樣, /usr/local/lib/R/site-library就會獲得.libPaths()發出的列表中的第一位,從而成為默認位置,從而確保用戶安裝的軟件包最終位於/usr/local/以下上一點

  • 因此,在/usr我們可以將/usr/lib/R/library推薦的R的推薦包裝(也包括在基本的R源中: bootgridlattice ...)與所有其他受包管理控制的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM