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

时间:2022-07-15 19:39:13

I have some issues with regard to package VIMGUI. As I am trying to use it, the warning comes like this:

我有一些关于包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

When I try to install data.table the error comes like this:

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

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

1 个解决方案

#1


1  

If you are being told that R 3.1.0 is up-to-date then you are using a mirror that is a year behind the current version, which you've already been advised is 3.2.0. Furthermore the current version of pkg:data.table is 1.9.5 from github and it says it only requires "R >= 2.14.0" so why a mirror would give you that error is a complete mystery. Updates of R within minor versions (from 3.1.0 to 3.1.2 or 3.1.3 for instance) are generally painless and let you avoid the gentle warnings (notice: not an error) such as you see such as "package ‘VIM’ was built under R version 3.1.2".

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

I'm also not seeing why data.table would need VIM or stringi for that matter. Those packages are not in either the Improts or the Depends listing for 'data.table'. So I'm guessing there is a bunch of other code you have not provided that made the failed attempt at loading the data.table-package.

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

Update to 3.1.3 (obtained from a more complete CRAN mirror than you appear to be using.) Then post the output of sessionInfo() and maybe the output of

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

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

That would tell you what versions are currently in your library and whether you have multiple libraries. I wouldn't want to post that because for me

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

 > nrow(mypacks)
 [1] 1333

But for someone with only a few packages installed, it will give you a complete listing of your current versions and where they are on your drives. You could also post:

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

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"

#1


1  

If you are being told that R 3.1.0 is up-to-date then you are using a mirror that is a year behind the current version, which you've already been advised is 3.2.0. Furthermore the current version of pkg:data.table is 1.9.5 from github and it says it only requires "R >= 2.14.0" so why a mirror would give you that error is a complete mystery. Updates of R within minor versions (from 3.1.0 to 3.1.2 or 3.1.3 for instance) are generally painless and let you avoid the gentle warnings (notice: not an error) such as you see such as "package ‘VIM’ was built under R version 3.1.2".

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

I'm also not seeing why data.table would need VIM or stringi for that matter. Those packages are not in either the Improts or the Depends listing for 'data.table'. So I'm guessing there is a bunch of other code you have not provided that made the failed attempt at loading the data.table-package.

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

Update to 3.1.3 (obtained from a more complete CRAN mirror than you appear to be using.) Then post the output of sessionInfo() and maybe the output of

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

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

That would tell you what versions are currently in your library and whether you have multiple libraries. I wouldn't want to post that because for me

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

 > nrow(mypacks)
 [1] 1333

But for someone with only a few packages installed, it will give you a complete listing of your current versions and where they are on your drives. You could also post:

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

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"