新版本发布后使用 PAK 更新 R 软件包

问题描述 投票:0回答:1

我经常求助于

update.packages(checkBuilt=T, ask=F) 

新的 R 版本发布后。不过,我通常使用优秀的 pak 包来安装 R 包。有谁知道如何使用 pak 更新使用以前的 R 版本构建的所有软件包? 谢谢!

我用谷歌搜索并阅读了 pak 文档。

r
1个回答
0
投票

这适用于Linux 上的R。列出升级到新 R 版本之前安装的所有软件包

all_my_pkgs <- installed.packages()
save(all_my_pkgs, 'Rpackages')

升级 R 无痛@pedro-rafael

install.packages("ropenblas")
    ropenblas::rcompiler(x='4.4.0')

关闭终端会话,在神奇升级的 R-4.4.0 中启动新会话,然后

load('Rpackages')
返回
all_my_pkgs
,然后
R440_pkgs <- installed.packages()
来比较和构建我们想要 pak::pak 安装的包的名称向量。我忘记安装了。安装
pak

my_pak_dreams <- setdiff(as.vector(unname(all_my_pkgs), mode = 'character'), as.vector(unname(R440_pkgs2[,1]), mode = 'character'))

pak::pak(c(my_pak_dreams))

尝试一下

error in pak subprocess
Caused by error: 
! Could not solve package dependencies:
* brainconn: Can't find package called brainconn.
* luna: Can't find package called luna.
* tabulizer: Can't find package called tabulizer.
* tabulizerjars: Can't find package called tabulizerjars.
* vscDebugger: Can't find package called vscDebugger.

哎呀。把那些拿出来,即梦想2 <- setdiff(all_my_pkgs and c('brainconn', & etc.

Missing 8 system packages. You'll probably need to install them manually:
+ libfftw3-dev     - fftw, OpenImageR         
+ libgdal-dev      - sf, terra, vapour        
+ libgeos-dev      - sf, terra, lwgeom        
+ libnetcdf-dev    - ncdf4                    
+ libnode-dev      - V8                       
+ libpq-dev        - RPostgres                
+ libproj-dev      - sf, terra, vapour, lwgeom
+ libsndfile1-dev  - seewave                  
? Do you want to continue (Y/n)

打开另一个终端并安装您需要的内容。我从源代码构建空间,因此不会安装 libgdal-dev、libgeos-dev 或 libproj-dev,但对其他人来说是的。 (并且 libnode 出错了,所以不清楚其他人是否被选中......) 11:18 开始安装 591 个软件包。 376/591 12:11。

 590 pkgs + 1 dep: kept 14, upd 2, added 575, dld 544 (471.15 MB) [1h 25m 22.9s]

12:40。完毕。如果您使用的是 Windows/Mac,安装新版本 R 的方法将会有所不同,但 pak::pak 的东西...无痛。

© www.soinside.com 2019 - 2024. All rights reserved.