较新版本的R不会加载旧版程序包

时间:2015-05-11 17:15:26

标签: r vim package packages vim-plugin

我对包VIMGUI有一些问题。当我试图使用它时,警告就像这样:

Loading required package: data.table
Error in load Namespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
  there is no package called ‘stringi’
In addition: Warning messages:
1: package ‘VIM’ was built under R version 3.1.2 
2: package ‘data.table’ was built under R version 3.1.1 
Error: package ‘data.table’ could not be loaded

当我尝试安装data.table时,错误如下:

package ‘data.table’ is not available (for R version 3.1.0)

1 个答案:

答案 0 :(得分:1)

如果您被告知R 3.1.0是最新的,那么您使用的镜像比当前版本落后一年,您已经建议的是3.2.0。此外,当前版本的pkg:data.table是来自github的1.9.5,它说它只需要“R> = 2.14.0”,所以为什么镜子会给你这个错误是一个完全的谜。次要版本中的R更新(例如从3.1.0到3.1.2或3.1.3)通常是无痛的,让你避免温和的警告(注意:错误),如你所见例如“包'VIM'是在R版3.1.2下构建的”。

我也没有看到为什么data.table需要VIM或stringi。这些包不在'data.table'的Improts或Depends列表中。所以我猜你还有很多其他的代码没有提供,导致尝试加载data.table - 包失败。

更新到3.1.3(从比你看起来使用的更完整的CRAN镜像获得。)然后发布sessionInfo()的输出,也许是

的输出
(mypacks <- installed.packages()[ , 1:3])

这会告诉您库中当前的版本以及是否有多个库。我不想发帖,因为对我来说

 > nrow(mypacks)
 [1] 1333

但是对于只安装了少量软件包的人来说,它会为您提供当前版本的完整列表以及它们在驱动器上的位置。你也可以张贴:

mypacks[ mypacks[, 'Package']  %in% c('data.table', 'stringi', 'VIM') , ]
### Output from my setup:
           Package     
data.table "data.table"
stringi    "stringi"   
VIM        "VIM"       
           LibPath                                                         
data.table "/Library/Frameworks/R.framework/Versions/3.1/Resources/library"
stringi    "/Library/Frameworks/R.framework/Versions/3.1/Resources/library"
VIM        "/Library/Frameworks/R.framework/Versions/3.1/Resources/library"
           Version
data.table "1.9.5"
stringi    "0.4-1"
VIM        "4.0.0"