在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
答案 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>