簡體   English   中英

R:apt-get install r-cran-foo與install.packages(“foo”)

[英]R: apt-get install r-cran-foo vs. install.packages(“foo”)

在Ubuntu下安裝R軟件包(比如本例中的mcmcpack )時,我可以選擇以下兩種安裝方法:

# Let the distribution's packaging system take care of installation/upgrades
apt-get install r-cran-mcmcpack

# Let R take care of installation/upgrades
install.packages("mcmcpack")

問題:

  • 安裝R軟件包的兩種方法中的任何一種都被認為是“最佳實踐”嗎?
  • 假設我首先install.packages("mcmcpack")以及稍后的apt-get install r-cran-mcmcpack - 我應該遇到麻煩嗎?
  • 假設我首先apt-get install r-cran-mcmcpack以及稍后的install.packages("mcmcpack") - 我應該遇到麻煩嗎?

它並不像看起來那么容易。

  • apt-get update是好的,如果有的話

    • 包存在 - 但CRAN上的2100+包中只有大約150個r-cran-*包,因此覆蓋范圍r-cran-*

    • 包維護,無bug和當前

    • 你對Ubuntu的雙年度發布很開心

  • install.packages()和更高版本update.packages()是好的,如果時間

    • 你知道安裝了構建時依賴項(除了r-base-dev )需要什么

    • 你不介意手動運行update.packages()以及apt-get更新。

在我工作的Ubuntu機器上,我使用第二種解決方案。 但是因為如果你有足夠的覆蓋率 ,第一個更好,我們已經構建了cran2deb ,它為amd64和i386提供了2050多個二進制deb包 - 但僅用於Debian測試。 這就是我在家里使用的。

至於你是否應該“期待麻煩”的最后一個問題:不,因為R_LIBS_SITE/etc/R/Renvironment設置為

# edd Apr 2003  Allow local install in /usr/local, also add a directory for
#               Debian packaged CRAN packages, and finally the default dir 
# edd Jul 2007  Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:\
/usr/lib/R/site-library:/usr/lib/R/library'}

這意味着你的包進入/usr/local/lib/R/site-libraryapt管理的包進入/usr/lib/R/site-library和(在基本包的情況下) /usr/lib/R/library

希望澄清問題。 對於像這樣的問題,r-sig-debian郵件列表是一個更加知情的地方。

  • 我會考慮使用apt-get最佳實踐,因為您將通過標准系統工具獲得自動更新。

  • 安裝了2個版本可能會讓您陷入困惑的情況:根據您的R設置,您可以加載另一個軟件包版本然后您期望 - 您的私有(可能已過時)應該首先加載。

  • 往上看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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