我正在尝试为我们的客户同步Dev和Prod Environment之间的软件包。 为此,我需要查找两个环境中安装的所有软件包。
要检查所有安装的软件包,我运行了以下命令:
installed.packages(fields=c("Package","Version"))
但是,当我运行此命令时,我无法获得软件包的版本。 我只是得到了R Installed的版本。
此外,如果我尝试运行以下命令,那么它将为我提供单个包的版本:
packageDescription("packageName")$Version
有人可以通过命令帮助我,这样我就可以使用各自的版本获取R中安装的所有软件包(通过Putty命令行),以便我可以在excel中复制这些值并进行比较吗?
答案 0 :(得分:3)
installed.packages
将始终在Version
列中返回包版本。
pkgs <- installed.packages()
vers <- pkgs[, "Version"]
这将是一个字符向量,如果你想比较版本,这有点不方便。 package_version
函数将转换一个字符串,如&#34; 3.3.2&#34;进入一个更适合任务的对象。
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