使用`devtools :: install_github()`

时间:2017-11-18 17:58:16

标签: r git devtools

正如标题所述:是否可以在同一R环境中并排安装同一个软件包的多个git分支?我想做一些基准测试,比较同一会话中的两个分支会更容易。我认为一种解决方法是更改​​新分支中DESCRIPTION文件中的包名称,但是有更聪明的方法可以使用devtools吗?

示例代码:

devtools::install_github("mkoohafkan/RAStestR", ref = "master")
# overwrites the prior install
devtools::install_github("mkoohafkan/RAStestR", ref = "hdf5r_transition")

1 个答案:

答案 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这些目录。

相关问题