Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
renv与git的相互作用_R_Git_Version Control_Environment_Renv - Fatal编程技术网

renv与git的相互作用

renv与git的相互作用,r,git,version-control,environment,renv,R,Git,Version Control,Environment,Renv,我试图更好地理解R中的renv包是如何工作的,以及它是如何与git交互的。以下是我的问题 假设我的R项目中有master和几个git分支(master和分支),我希望使用不同的环境(不同的库或相同库的不同版本)。renv是否能够处理它,即如果我从一个分支切换到另一个分支,则需要调用renv::restore() 我有两个独立的项目,分别运行renv,称为项目A和项目B。我想从项目B中获取环境,并替换项目A中的环境。我如何才能完成它?我是否只需要将renv文件夹从一个项目复制到另一个项目 假设

我试图更好地理解R中的
renv
包是如何工作的,以及它是如何与git交互的。以下是我的问题

  • 假设我的R项目中有master和几个git分支(master和分支),我希望使用不同的环境(不同的库或相同库的不同版本)。
    renv
    是否能够处理它,即如果我从一个分支切换到另一个分支,则需要调用
    renv::restore()

  • 我有两个独立的项目,分别运行
    renv
    ,称为项目A和项目B。我想从项目B中获取环境,并替换项目A中的环境。我如何才能完成它?我是否只需要将
    renv
    文件夹从一个项目复制到另一个项目

  • 假设我的R项目中有master和几个git分支(master和分支),我希望使用不同的环境(不同的库或相同库的不同版本)。renv是否能够处理它,即如果我从一个分支切换到另一个分支,则需要调用renv::restore()

    renv
    将项目库从版本控制中排除(以避免增加存储库的大小),因此在正常情况下,切换分支时需要恢复库路径

    这有点困难,所以另一个解决方案是配置
    renv
    git
    存储库的每个分支使用不同的库路径。您可以通过(在您的项目
    .Rprofile
    )中执行以下操作来完成此任务:

    分支
    
    branch <- system("git rev-parse --abbrev-ref HEAD", intern = TRUE)
    Sys.setenv(RENV_PATHS_LIBRARY = file.path("renv/library/branches", branch))