![](/img/trans.png)
[英]Purpose of selecting a CRAN mirror when install.packages() in R?
[英]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")
问题:
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-library
而apt
管理的包进入/usr/lib/R/site-library
和(在基本包的情况下) /usr/lib/R/library
。
希望澄清问题。 对于像这样的问题,r-sig-debian邮件列表是一个更加知情的地方。
我会考虑使用apt-get
最佳实践,因为您将通过标准系统工具获得自动更新。
安装了2个版本可能会让您陷入困惑的情况:根据您的R设置,您可以加载另一个软件包版本然后您期望 - 您的私有(可能已过时)应该首先加载。
往上看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.