使用 `devtools::install_github()` 同时安装 git 个 R 包的多个分支
concurrent install of git multiple branches of an R package with `devtools::install_github()`
如标题所述:是否可以在同一个 R 环境中安装同一个包 side-by-side 的多个 git 分支?我想做一些基准测试,比较同一 session 中的两个分支会更容易。我认为一种解决方法是更改新分支中 DESCRIPTION 文件中的包名称,但是是否有更聪明的方法来使用 devtools
?
示例代码:
devtools::install_github("mkoohafkan/RAStestR", ref = "master")
# overwrites the prior install
devtools::install_github("mkoohafkan/RAStestR", ref = "hdf5r_transition")
简而言之,没有。至少不是没有额外的层。继续阅读。
虽然 git
(协议和客户端)支持 "branches" 类似于允许您轻松切换的虚拟文件系统,但 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 这些目录。
如标题所述:是否可以在同一个 R 环境中安装同一个包 side-by-side 的多个 git 分支?我想做一些基准测试,比较同一 session 中的两个分支会更容易。我认为一种解决方法是更改新分支中 DESCRIPTION 文件中的包名称,但是是否有更聪明的方法来使用 devtools
?
示例代码:
devtools::install_github("mkoohafkan/RAStestR", ref = "master")
# overwrites the prior install
devtools::install_github("mkoohafkan/RAStestR", ref = "hdf5r_transition")
简而言之,没有。至少不是没有额外的层。继续阅读。
虽然 git
(协议和客户端)支持 "branches" 类似于允许您轻松切换的虚拟文件系统,但 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 这些目录。