13

私たちのサーバーでは、R 2.12.1 はhttp://cran.r-project.org/bin/linux/debian/apt-get installの指示に従って、 etcを使用してインストールされます。

状況により、古い lenny マシンは新しい安定した debian に更新されていません。これはすぐには起こらないようです。ここでの調査の一部は VGAM の最新バージョンに依存しているため、debian に R 2.14.0 をインストールする必要があります。しかし、古いコードの実行を維持するために、R 2.12.1 をドロップすることはできません (このバージョンに VGAM 0.8.4 をインストールするとエラーが発生します)。

したがって、2 つの R バージョンをインストールする必要があります。私が少し理解しapt-get upgradeたのは、古いバージョンをそのまま使用すると、新しいバージョンに置き換えられるということです。大量のドキュメントを調べてきましたが、最適な方法が見つかりません。

私が今想像できる唯一のことは、ソースから最新の R をビルドしようとすることですが、同僚はそのアイデアにあまり熱心ではなく、最初に別のソリューションを探すように促しました。私が見逃した情報はありますか、またはこれを行うためのちょっとしたコツを教えてくれる人はいますか? ソースからビルドすることが解決策である場合、落とし穴や起こりうる問題について聞きたいです。

4

4 に答える 4

8

適切なコンパイル フラグを使用して、任意のソフトウェアの異なるバージョンをインストールできます。--help を指定して構成スクリプトを実行すると、インストール ルートを表示するオプションが表示されます。

を見てみましょう

./configure --help
...
Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]

したがって、R-2.14 を次の場所にインストールできます。

/usr/local/R/2.14

R-2.12 を次の場所にインストールできます。

/usr/local/R/2.12

構成スクリプトを起動するときは、次のようにします。

./configure --prefix=/usr/local/R/2.14

等々。

于 2011-12-01T15:22:12.803 に答える
5

コメントで述べたように、これは理論的には、一部のパッケージファミリ(Emacs、PostgreSQLなど)が複数の同時バージョンを許可するのと同じように可能です。

/usr/{share,lib}/R競合するものを使用しているため、現時点ではそれを提供できません。私がそれを作成してから、デフォルトの優先のものに切り替えるために/usr/{share,lib}/R-$version使用する場合、おそらくそれを行うことができます。dpkg-alternatives問題は移行です。この機能は少数のユーザーによって使用されており、これを使用すると、安定するまで多数のユーザーにバグが発生する可能性があります。それに、暇な時間はありません(でも、誰か他の人がやりたいと思ったら、そうしてください)。

その間、あなたはすることができます

  1. おそらく、以下のデフォルトではなく、の高度な機能をdpkg使用してローカルディレクトリに解凍します。/これ/opt/R/oldversions/2.12.1は可能であるはずです。Rを実行することもできます。それに応じて、再定義する必要があります$RHOME

  2. 本当に必要/usr/localな場合は、ローカルバリアントを組み込むだけです

  3. 特定のCRAN/非CRANパッケージが特定のバージョンのRを必要とすると主張する場合は、すでにいまいましいパッケージを修正してください。;-)

最後に、これはトピックですr-sig-debian。たとえば、CRANのメンテナであるMichaelとJohannesは、このスレッドをここで読みません。

于 2011-12-01T17:43:19.207 に答える
3

複数のバージョンを提供する debian リポジトリがなければ、R をソースからコンパイルせずに 2 つのバージョンの R をスムーズに実行し続けることは難しいと思います。

私たちの研究所は私たちにルート権限を与えないので、私がよくすることは私のホームディレクトリにRをインストールすることです. R のソース バージョンをシステム全体にインストールするには、これを別のディレクトリ (例: /opt/R2.14) にインストールし、次を使用します。

./configure --prefix=/opt/R2.14/

最後のステップは、R バイナリへのシンボリック リンクを作成することです。

ln -s /opt/R2.14/bin/R /usr/bin/R2.14

ユーザーは、R の 2 つのバージョン (R および R2.14) を開始できます。お役に立てれば!

于 2011-12-01T15:29:12.103 に答える
0

最初に実行する次のコマンドを知っている限り、ソースから R をビルドするのは非常に簡単です (私でもできます!)。

apt-get build-dep r-base

そうしないと、 からライブラリ タイプが見つからないというエラーが発生する可能性がありますmake。過去にその宝石を投稿した Dirk に感謝します。マニュアル、README、または FAQ でそれを見たことがありません。

次に、それはただです:

./configure
make

R は静的または動的システム ライブラリを使用しますか? 自己構築した R は、事前にパッケージ化されたバイナリ R とは異なるライブラリにリンクする可能性がありますか? (知らない)。あなたがどれだけそれに取り組むかは、私が推測するRのアプリケーションがどれほど重要であるか、そしてどのシステムライブラリがあなたにとって重要であるかによって異なります.

于 2011-12-01T16:35:35.090 に答える