2017-11-18 10 views
0

タイトルが述べているように、同じパッケージの複数のgitブランチを同じR環境に並べてインストールすることは可能ですか?私はいくつかのベンチマークを行いたいと思います。同じセッションで2つのブランチを比較する方が簡単です。 1つの回避策は、新しいブランチのDESCRIPTIONファイルのパッケージ名を変更することですが、devtoolsでこれを行うより賢い方法がありますか?`devtools :: install_github()`を使ってRパッケージのgit複数ブランチを同時にインストールする

サンプルコード:要するに

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

答えて

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に伝えます。

+0

興味深い解決策ですが、このように見えますが、*どちらのバージョンも使用できますが、両方のバージョンを同時に使用することはできません。読み込み中のパッケージのエイリアスを設定する方法はありますか? – mikeck

+0

いいえ、私が最初に言ったように、_Rは各パッケージのバージョンを1つしか知りません_したがって、私が記述したものを使って少なくとも2つの_distinct_ Rセッションを比較する必要があります。それはRがどのように編成されているかです。 –

関連する問題