新的 R 3.0.0 要求重新安装所有贡献的包。两个问题:
- 这是否也意味着调用 R 的软件,例如 rapache,需要在 R 升级后重新编译?
- 新版本是否向后兼容?例如,如果一个
r-cran-xxx
包是使用 3.0.0 编译的r-base-dev
,这个包可以在 R 2.15 中加载吗?或者我们是否需要为 R 2.15 和 R 3.0.0 分发单独的二进制包?
这确实是 r-devel 的问题,或者当您使用我们的 Debian / Ubuntu 软件包术语 r-sig-debian 时。
简而言之:
问题1是AFAICT a no。R C API没有改变。Rapache 的设计极大地影响了我们更小的 littler r
,并且r
在安装了基于我的包的 Michael 构建的 R 3.0.0 后,在我的 Ubuntu 机器上运行得很好。即使 littler(参见r --version
参考资料)是针对 R 2.15.2 构建的。
问题 2 是否定的,这没有改变。R 总是“及时向前”移动,而不是向后移动。当添加 NAMESPACES 以及更改帮助格式时,我们需要如何重建包。因此,如果您有 N 个不同的 R 版本和 M 个不同的 ABI 包,您可能需要 M 个树并管理您的 libPaths。这里没有什么新鲜事。