r-是什么决定了CRAN二进制兼容性



CRAN有适用于Windows和macOS的二进制版本的软件包。然而,install.packages()只会在官方CRAN R发行版中运行时使用这些。如果使用不同的R发行版(例如,来自macOS上的Homebrew或MacPorts(或自己从源代码编译R,则install.packages()将不会下载二进制文件,而是从源代码中编译所有包。

问题:

  • 为什么install.packages()在非官方R发行版中运行时拒绝从CRAN获取二进制文件?我认为存在一些对二进制兼容性的担忧,我希望从技术上深入了解原因
  • 如何验证二进制兼容性?install.packages()如何判断二进制文件是否可以使用
  • 生成(a(与CRAN二进制文件兼容(b(将被install.packages()检测为兼容的单独R分发需要什么

来自?install.packages中关于type参数的文档:

CCD_ 8的可能值是(当前(";源"mac.binary";,以及";win.binary":支持的适当二进制类型也可以选择为"二进制";二进制";。

type的默认设置为getOption("pkgType")。在非CRAN版本中,该选项似乎默认为"source",如果您尝试将该选项设置为"both"(这将是CRAN版本的默认值(,则install.packages将抱怨。您可以将该选项设置为"mac.binary",或者使用type参数完全绕过这些选项。

因此,要为dplyr安装最新的MacOS二进制文件,您可以执行以下操作:

install.packages("dplyr", type = "mac.binary")

options(pkgType = "mac.binary")
install.packages("dplyr")

请注意,这也将安装已安装程序包的依赖项。

相关内容

  • 没有找到相关文章

最新更新