如何运行使用旧版本包和最新 R 版本和包中的 R 编写的 R 脚本? [关闭]

Posted

技术标签:

【中文标题】如何运行使用旧版本包和最新 R 版本和包中的 R 编写的 R 脚本? [关闭]【英文标题】:How do you run a R script which was written using older version of packages and R in latest R version and packages? [closed] 【发布时间】:2021-07-10 03:15:13 【问题描述】:

我有一个用于闪亮应用的 R 脚本。我不知道在编写该脚本时使用了哪些版本的包或 R。现在我必须运行该脚本。由于版本问题,它会导致很多错误。有什么捷径可以让我运行该脚本而不会出错?

【问题讨论】:

不。脚本文件不包含有关包版本的任何信息。如何前进实际上取决于您遇到的错误类型。 【参考方案1】:

您可以尝试使用包 checkpoint 从脚本上次运行的日期开始安装包。如果您的软件包当时是最新版本,那么您将拥有一个可重现的环境。

# current repository
getOption("repos")
#                        CRAN 
# "https://cran.rstudio.com/" 
# attr(,"RStudio")
# [1] TRUE

# current library
.libPaths()
# [1] "/Library/Frameworks/R.framework/Versions/3.6/Resources/library"

# current package version
packageVersion("dplyr")
# [1] ‘1.0.5’

library(checkpoint)
# the script ran successfully on 2019-01-01
checkpoint("2019-01-01")
# Can I create directory ~/.checkpoint for internal checkpoint use?
# ...

将创建一个新库,其中填充自检查点日期以来的包。

getOption("repos")
# [1] "https://mran.microsoft.com/snapshot/2019-01-01"
.libPaths()
# [1] "/Users/csjcampbell/.checkpoint/2019-01-01/lib/x86_64-apple-darwin15.6.0/3.6.2"
# [2] "/Users/csjcampbell/.checkpoint/R-3.6.2"                                       
# [3] "/Library/Frameworks/R.framework/Resources/library"

# packages are installed as versioned on the snapshot date
packageVersion("dplyr")
# [1] ‘0.7.8’

【讨论】:

以上是关于如何运行使用旧版本包和最新 R 版本和包中的 R 编写的 R 脚本? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

安装旧版本的 R 包

R - 加密/锁定R代码和包[重复]

R studio初始化卡在旧版本中

如何在 colab 中使用 R 运行时更改 tensorflow 版本?

我需要切换到旧版本的 R 来运行一个脚本

在新 R 版本中编译用旧版本编写的代码时出现问题