Rcpp安装不正确,R2.15.2

时间:2012-12-23 22:59:27

标签: r rcpp

在Linux Ubuntu 12.04上安装Rcpp,R2.15.2 NB昨天安装了R和rcpp;所以我希望最新的版本,但Rcpp安装为过时的版本!

> old.packages()

     Package LibPath                   Installed  Built    ReposVer  
Rcpp "Rcpp"  "/usr/lib/R/site-library" "0.9.9"    "2.14.1" "0.10.2"  
rgl  "rgl"   "/usr/lib/R/site-library" "0.92.798" "2.12.1" "0.92.894"
     Repository                                 
Rcpp "http://www.stats.bris.ac.uk/R/src/contrib"
rgl  "http://www.stats.bris.ac.uk/R/src/contrib"
> update.packages("Rcpp")

如最后一行所示,它根本没有更新包Rcpp;造成这种情况的原因是什么,我该怎么做才能解决这个问题?

NB尝试从两个不同的存储库重新安装,这两个存储库声称拥有rcpp的最新版本0.10.2。

此致

人Jefe

1 个答案:

答案 0 :(得分:4)

你只是误解了。

你拥有的Rcpp来自 Ubuntu 并通过apt-get等安装。当发行版冻结时,该版本被冻结。这类似于gcc,emacs,...不是最新版本现在可用,而是发行版时采用的版本。 另外,即使Ubuntu版本现在已经过了一个版本,因为12.10已经过时了......

所以你的问题标题是错误的。您拥有的版本是正确安装作为Ubuntu 12.04的一部分版本。现在有意义吗?

现在,如果您通过install.packages()从CRAN安装Rcpp,您将获得当前版本,即rgl的idem。

(并且在启动板上还有一个PPA可能同时具有prebuild .deb包。)

最后,并在之前解释过,路径/usr/lib/R/site-library适用于您安装的r-cran-*个包.deb文件,其中/usr/local/lib/R/site-library适用于您的本地 从R本身安装。由于这种分裂,从前一个路径驱动的old.packages()的输出,例如/usr/lib/R/site-library被绑定到后面,因为它由分发管理,这里是Ubuntu。您选择发行版来确保其组件的稳定性 - 您可以使用/usr/local/lib/R/site-library中的CRAN包来自由扩充它。这绝对是一个特色。

从我的Ubuntu框中见证这一点:

R> old.packages(lib.loc="/usr/local/lib/R/site-library/")
NULL
R>