【问题标题】:Is there an easy way of replicating a list of installed CRAN packages (with the exact versions)?是否有一种简单的方法可以复制已安装的 CRAN 软件包列表(具有确切版本)?
【发布时间】:2012-08-30 16:12:17
【问题描述】:

我在多台计算机上用 R 语言开发代码。所述代码依赖于许多 CRAN 包,我想确保我的代码所依赖的包的版本保持同步。因此,我正在寻找一种在另一台计算机上复制已安装 CRAN 软件包列表(具有 same 版本)的简单方法。

对于也了解 Python 的人,我正在寻找与 pip freeze 等效的版本。运行pip freeze 会打印出与其版本一起安装的软件包列表。然后在另一台计算机上,我可以将此文件反馈给 pip,它会安装与列出的所有软件包完全相同的版本。 (我不想要的是在另一台计算机上安装最新版本的东西。)

在 R 中是否有一种简单的方法(或已经这样做的工具),还是我必须自己动手?

【问题讨论】:

    标签: r package


    【解决方案1】:

    你看过installed.packages()吗?

    R> IP <- installed.packages()
    R> colnames(IP) 
     [1] "Package"   "LibPath"   "Version"   "Priority"  "Depends"   "Imports" 
     [7] "LinkingTo" "Suggests"  "Enhances"  "OS_type"   "License"   "Built"  
    R> dim(IP)
    [1] 284  12  
    R>    
    

    然后,您可以在其另一侧滚动相应的 install.packages(),可能还可以从 CRAN 的“存档”部分获取额外的版本。

    【讨论】:

    • 知道如何指向/寻址存档目录吗?
    • 在最坏的情况下,您可以先使用download.file(),然后再从现在的本地副本安装。
    • @JoshO'Brien:只需将/Archive/pkgName 添加到通常的路径:http://cran.mirror.org/src/contrib
    • 另见:devtools::install_version
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    相关资源
    最近更新 更多