r - 安装程序不会将包复制到新版本的 R
问题描述
我最近使用安装程序包来更新我的 R 版本(从 3.6.2 到 4.0.0)。更新成功,我已确认使用print(R.version)
. 但是,尽管我严格按照这些步骤操作,但我的旧版本 R 的包还没有复制到新版本。我也尝试过运行copy.packages.between.libraries(ask = T)
将包复制过来。No packages to copy. Goodbye :)
尽管我无法加载以前安装在旧版本上的任何软件包,但两次都返回了。
解决方案
这是因为从 R 3.6.x 更新到 4.x 需要您重新安装所有软件包(请参阅新闻)。
我发现这样做的最好方法是:
- 获取您的旧包裹
old_packages <- installed.packages(lib.loc = "/home/johannes/R/x86_64-pc-linux-gnu-library/3.6/")
当然,您必须将路径更改为您的包所在的路径。只需使用.libPaths()
,如果您已经安装了新的 R 版本,请将其替换4.0
为3.6
.
根据已安装的软件包检查旧的:
new_packages <- installed.packages() missing_df <- as.data.frame(old_packages[ !old_packages[, "Package"] %in% new_packages[, "Package"], ])
安装缺少的软件包(使用多个内核来提高速度)
install.packages(missing_df$Package, Ncpus = 3)
我前段时间在我的博客上写了这篇文章,但这些是必不可少的步骤,你应该很高兴。
推荐阅读
- oracle - 我在 oracle12c 中选择更新查询有一些问题
- spring-boot - 为什么当我删除bean并添加另一个bean时springboot只刷新一次bean?
- node.js - 尽管昨天有效,但无法发布数据
- javascript - DataTables:获取匹配单列条件的整行的源数据
- php - 如何使用 mysql 查询我的表的所有值?
- apache-kafka - Kafka-Connect HDFS 接收器连接器 NullPointerException
- jquery - jQuery keyup 代码在 20% 的时间里对用户不起作用
- laravel - Laravel:与(布尔)false比较时返回true的DB
- css - Bootstrap 4侧边栏布局没有很好地对齐
- android - 尝试在内存中捕获图像的 CameraX 问题