首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >固定R包版本

固定R包版本
EN

Stack Overflow用户
提问于 2017-07-28 09:37:42
回答 1查看 627关注 0票数 1

您如何在R中最好地销包版本?

拒绝策略1: Pin到CRAN源tar.gz

  • 如果您想将其固定在最新版本,则无法工作,因为CRAN没有将提示版本放在归档文件中(duh)

拒绝策略2:使用devtools

  • 不想这么做,因为编译和添加许多我不想使用的东西需要很长时间

拒绝策略3:供应商

  • 宁愿避免复制所有的源
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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回购似乎仍然相当活跃,问题/补丁是令人鼓舞的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45369968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档