我开始与团队成员合作使用renv进行R项目。虽然我(大多数情况下)可以让它工作,但我对是否以及在何处安装renv本身感到有点困惑。根据文档化工作流,在使用renv启动新项目之前,我基本上需要安装renv。
但是,当我没有安装renv并克隆使用renv的回购程序时,它似乎安装了(引导?)它本身。但是它在本地renv环境中这样做。
我对此有几个问题:
renv虚拟环境之外安装renv吗?renv本身的版本之间的差异,例如安装在我的机器上,并呈现在我克隆的回购中,以及我想复制哪个renv?我在这个问题上遇到了问题,无法用不同的renv版本从克隆的回购中复制renv。renv本身是它创建的虚拟环境的一部分?我所知道的python虚拟环境管理器的情况并非如此。发布于 2022-10-12 22:23:03
建议将renv安装在renv虚拟环境之外吗?
我们有。实际上,如果您想首先初始化一个renv项目,这是必要的,因为这是通过调用renv::init()来完成的--因此常规的renv初始化工作流期望将renv安装到用户库中。
您如何处理renv本身在版本上的差异,例如安装在我的机器上,并呈现在我克隆的回购中,以及我想复制哪一个?我遇到了这个问题,无法用不同的renv版本从克隆的回购复制一个renv。
因为renv只是一个R包,所以您可以根据需要安装或升级(或降级)在项目中使用的renv版本,而不会影响其他项目。例如,从CRAN安装最新版本可以使用普通的install.packages("renv")完成。
在renv项目中工作时,该项目中安装的renv版本通常是所使用的副本--因此,此时,在用户库中安装的renv版本不再重要。
在一个更概念化的层面上:为什么renv本身是它所创建的虚拟环境的一部分?我所知道的python虚拟环境管理器的情况并非如此。
这样做主要是为了确保现有的renv项目能够继续工作,即使renv的更新破坏了一些现有的工作流。(我们努力确保这种情况永远不会发生,但我们希望确保用户有一个逃生舱口,以防出现这种情况。)
但是,当我没有安装renv并克隆使用renv的回购程序时,它似乎已经安装了(引导?)它本身。但是它在本地renv环境中这样做。
这里的“引导”行为是为了帮助简化协作工作流。与其要求用户在打开renv项目之前显式安装renv,renv更了解在现有项目中引导自身,以便新用户能够快速启动和运行。(此外,引导脚本还试图确保安装了项目配置使用的renv版本。)
https://stackoverflow.com/questions/74027093
复制相似问题