正如标题所述:是否可以在同一R环境中并排安装同一个软件包的多个git分支?我想做一些基准测试,比较同一会话中的两个分支会更容易。我认为一种解决方法是更改新分支中DESCRIPTION文件中的包名称,但是有更聪明的方法可以使用devtools
吗?
示例代码:
devtools::install_github("mkoohafkan/RAStestR", ref = "master")
# overwrites the prior install
devtools::install_github("mkoohafkan/RAStestR", ref = "hdf5r_transition")
答案 0 :(得分:2)
简而言之,没有。至少没有额外的层。请继续阅读。
虽然git
(协议,以及客户端)支持“分支”,类似于允许您轻松切换的虚拟文件系统,但R不支持。
对于您安装的每个软件包,只能安装一个版本。
但请不要绝望,因为文件系统可以用作后端,然后R可以通过调整库路径来切换。这一切都在help(Startup)
中,但它可能有助于明确。
你可以做什么(我在这里嘲笑)
mkdir master; cd master; installFromBranch.R master; cd ..
mkdir featureA; cd featureA; installFromBranch.R featureA; cd ..
mkdir featureB; cd featureA; installFromBranch.R featureB; cd ..
然后在R中使用,比方说,
.libPaths("master"); library("mypackage")
或者如果你想要一个功能
.libPaths("featureA"); library("mypackage")
您也可以使用R_LIB_USER=featureA Rscript -e '.....someCommandHere...'
简而言之:将分支映射到您安装的目录,并告诉R这些目录。