【问题标题】:R Packages installed version numbersR Packages 安装的版本号
【发布时间】:2017-03-20 18:54:55
【问题描述】:

我正在尝试为我们的客户在 Dev 和 Prod Environment 之间同步包。 为此,我需要查找两个环境中安装的所有软件包。

为了检查所有安装的包,我运行了以下命令:

installed.packages(fields=c("Package","Version"))

但是,当我运行此命令时,我没有得到软件包的版本。 我刚刚安装了 R 的版本。

见截图:

另外,如果我尝试运行以下命令,它会为我提供单个包的版本:

packageDescription("packageName")$Version

有人可以在这里帮助我使用命令,以便我可以获取安装在 R 中的所有包(通过 Putty 命令行)及其各自的版本,以便我可以在 excel 中复制这些值并进行比较?

【问题讨论】:

  • 您的屏幕截图方便地截断了表头,该表头可以清楚地表明您正在显示“构建”版本,而不是包版本(也在那里,您只是没有显示它在屏幕截图中)。
  • 您好,抱歉,我无法在屏幕截图中显示它,但请相信我这是 R 的构建版本,而不是包版本
  • 是的,这就是我的评论所说的。 R 包版本显示在表中的其他位置。向上滚动。

标签: r packages


【解决方案1】:

installed.packages 将始终在Version 列中返回软件包版本。

pkgs <- installed.packages()
vers <- pkgs[, "Version"]

这将是一个字符向量,如果您想比较版本,这有点不方便。 package_version 函数会将像“3.3.2”这样的字符串变成更适合该任务的对象。

package_version(vers["stats"])
# '3.3.2'

package_version(vers["stats"]) > package_version("3.1")
# TRUE

package_version(vers["stats"]) == packageVersion("stats")  # note function names
# TRUE

【讨论】:

  • 当我运行 just installed.packages 时出现以下错误:function (lib.loc = NULL, priority = NULL, noCache = FALSE, fields = NULL, subarch = .Platform$r_arch) { if (is.null(lib.loc)) lib.loc
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-15
  • 2013-06-09
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
相关资源
最近更新 更多