web-dev-qa-db-ja.com

自分のディレクトリにRをインストールする

Rの新しいバージョンを自分のディレクトリ(/local/data/project/behiなど)にインストールするにはどうすればよいですか。

36
user3925736

これを行う最も簡単な方法は、Rをインストールすることです ソースから

$ wget http://cran.rstudio.com/src/base/R-3/R-3.4.1.tar.gz
$ tar xvf R-3.4.1.tar.gz
$ cd R-3.4.1
$ ./configure --prefix=$HOME/R
$ make && make install

最後から2番目のステップが重要です。 Rが自分のホームディレクトリのサブディレクトリにインストールされるように設定します。

Linux、macOS、および類似のシステムで実行するには、$HOME/R/binPATHに追加します。次に、RRscriptなどのシェルコマンドが機能します。

MacOSでは、別の方法があります: build R.app で、ユーザーのプライベートApplicationsフォルダーにインストールします。これを行うには、Xcodeをインストールする必要があります。

代わりに--prefix=$HOMEを指定することを検討してください。これにより、Rがホームディレクトリの最上位にインストールされるため、RおよびRscriptバイナリは最終的に$HOME/binになり、これはおそらくユーザーのPATHにすでに含まれています。欠点は、Rが他の$HOMEコンテンツに混在するため、後のアンインストールが難しくなることです。

(これが$HOME/binに最初にインストールしたものである場合、$HOME/binがログイン時に存在する場合にのみ条件付きで追加されることが多いため、PATHでこれを取得するには、ログアウトして再度ログインする必要がある場合があります。)

この一般的なパターンは、ソースコードからインストールできる大量のUnixソフトウェアに適用されます。ソフトウェアにconfigureスクリプトがある場合、それはおそらく--prefixオプションを理解し、そうでない場合は、通常、同じ効果を持ついくつかの代替手段があります。

これらの機能は、いくつかの理由で一般的です。可能性の高い順に、私の経験では:

  • 安全なデフォルト(/usr/local)は、すべての状況で正しい$prefixとは限りません。状況によっては、/usr/opt/$PKGNAMEなどの他の何かが指示される場合があります。

  • バイナリパッケージビルドシステム( [〜#〜] rpm [〜#〜][〜#〜] deb [〜#〜][〜# 〜] pkg [〜#〜]Cygport ...)通常、パッケージをビルドして特別なステージングディレクトリにインストールし、目的の場所に展開するようにパッケージ化します。インストール場所。

  • あなたのケースでは、rootを取得してソフトウェアを通常の場所にインストールできないため、代わりに$HOMEにインストールします。

46
Warren Young

ラッパーアプリケーション Renv を使用することもできます。

抜粋

シンプルなRバージョン管理:Renv

Renvを使用すると、Rの複数のバージョンを簡単に切り替えることができます。Renvはシンプルで目立たず、UNIXの伝統的な1つの目的を果たす単一目的のツールに従っています。

Renvは…

  • ユーザーごとにグローバルRバージョンを変更できます。
  • プロジェクトごとのRバージョンのサポートを提供します。
  • Rバージョンを環境変数で上書きできるようにします。
8
slm

ソースから./configure --prefix=/local/data/project/behi ; make ; make installでビルド

RPMパッケージからインストールしていて、再配置可能に作成されている場合は、

rpm ... --prefix /local/data/project/behi

しかし、すべてのパッケージが再配置可能なバイナリでビルドされるわけではありません。私は、debianパッケージにこのオプションがあるとは思いません(ただし、dpkg --instdirで成功する可能性はあります)。

1
Dani_l