您如何在R中最好地销包版本?
拒绝策略1: Pin到CRAN源tar.gz的
拒绝策略2:使用devtools
拒绝策略3:供应商
发布于 2017-07-28 11:23:44
为了提供关于packrat的更多信息,我将为此目的使用它。来自网站。
包依赖关系可能会令人沮丧。您是否曾经使用过试用和错误的方法来确定您需要安装哪些R包才能使其他人的代码工作--然后在全球范围内永久安装了这些软件包,因为现在您不确定是否需要它们?您是否曾经更新过一个包以使其中一个项目中的代码工作,结果发现更新后的包会使另一个项目中的代码停止工作? 我们建造包装来解决这些问题。使用packrat使您的R项目更多: 隔离:为一个项目安装一个新的或更新的包不会破坏其他项目,反之亦然。这是因为packrat为每个项目提供了自己的私有包库。便携:轻松地将项目从一台计算机传输到另一台计算机,甚至跨越不同的平台。Packrat使安装您的项目所依赖的软件包变得很容易。可复制性: Packrat记录您所依赖的确切包版本,并确保这些确切的版本是在任何地方安装的版本。
Packrat存储您在packrat.lock文件中使用的包的版本,然后在您使用packrat::restore()时从CRAN下载该版本。它的重量比devtools轻得多,但仍然需要一些时间重新下载所有的软件包(取决于您正在使用的包)。
如果您喜欢将所有的源存储在一个zip文件中,可以使用packrat::snapshot()来解压源/更新packrat.lock,然后使用packrat::bundle()将所有内容“捆绑”起来。这样做的目的是通过存储原始设计中使用的包版本和依赖项(以及源代码,从而避免操作系统对二进制文件的依赖),使项目/研究随着时间的推移可重复和可移植。
在我链接到的网站上有更多的信息,您可以在git回购上看到当前的活动。我遇到过一些不太理想的情况(不是CRAN上的包有时会有一些问题),但git回购似乎仍然相当活跃,问题/补丁是令人鼓舞的。
https://stackoverflow.com/questions/45369968
复制相似问题