rbenv
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
rbenv [2013/02/25 05:27] – [ruby-build] nullpon | rbenv [2022/07/22 15:34] (現在) – [global 指定] nullpon | ||
---|---|---|---|
行 1: | 行 1: | ||
====== rbenv ====== | ====== rbenv ====== | ||
- | Rubyの複数バージョンを管理するツール。 | + | [[https:// |
rbenv は ~/ | rbenv は ~/ | ||
===== Rubyのインストール ===== | ===== Rubyのインストール ===== | ||
- | rbenv自体にはRubyをインストール機能がない。自前でビルドしても良いが ruby-build というプラグインを入れるのが普通。 | + | rbenv自体にはRubyをインストール機能がない。自前でビルドしても良いが |
- | ==== ruby-build | + | ruby-buildをインストールするとinstall/ |
- | rbenv install が使えるようになるプラグイン | + | |
インストール可能なRubyのバージョン一覧 | インストール可能なRubyのバージョン一覧 | ||
$ rbenv install --list | $ rbenv install --list | ||
+ | |||
2.0.0-p0をインストール | 2.0.0-p0をインストール | ||
$ rbenv install 2.0.0-p0 | $ rbenv install 2.0.0-p0 | ||
+ | | ||
+ | MacOSXの場合XCodeに付属のgcc(llvm-gcc)ではRubyをビルドできない事がある。homebrewでgccをインストールしてビルド時に指定すると良い | ||
+ | |||
+ | $ brew install gcc48 | ||
+ | $ CC=/ | ||
+ | | ||
+ | X11/ | ||
+ | |||
+ | $ CC=/ | ||
+ | | ||
+ | |||
+ | 2.0.0-p0ではopensslを独自にビルドするのでopensslを別途インストール不要。ただしbrewでインストールしたものを指定したい場合は、 | ||
+ | |||
+ | $ RUBY_CONFIGURE_OPTS=" | ||
+ | |||
- | ===== バージョンを選択 | + | ===== Rubyのバージョンを指定する方法 |
いくつかバージョンを指定する方法がある。 | いくつかバージョンを指定する方法がある。 | ||
==== shell 指定 ==== | ==== shell 指定 ==== | ||
- | shell設定を行うと、現在のシェルセッションで使うrubyを指定できる。この設定は最も優先度が高い。Rubyで書かれたアプリを本番環境でデーモンとして起動するのに使うと良い。 | + | shell設定を行うと、現在のシェルセッションで使うRubyを指定できる。この設定は最も優先度が高い。 |
$ rbenv shell 2.0.0-p2 | $ rbenv shell 2.0.0-p2 | ||
- | この設定は環境変数RBENV_VERSIONに保存される。 | + | この指定は、Redmine等のRubyで書かれたアプリを本番環境でデーモンとして起動するために起動スクリプト中で使うと良いだろう。 |
+ | |||
+ | この設定は環境変数RBENV_VERSIONに保存される。逆にRBENV_VERSION環境変数をsystemdのserviceファイル等で設定することで、サービスでrbenvを使うことができる | ||
==== local 指定 ==== | ==== local 指定 ==== | ||
- | local設定を行うと、カレントディレクトリ以下の階層にいるときに指定のバージョンのrubyが使用される。Rubyアプリ開発に使うと便利。 | + | local設定を行うと、この設定を行ったディレクトリ以下にいるとき指定したバージョンのRubyが使用されるようになる。優先度は2番目。 |
$ rbenv local 1.9.3-p194 | $ rbenv local 1.9.3-p194 | ||
$ ruby -v | $ ruby -v | ||
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin10.8.0] | ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin10.8.0] | ||
- | | + | |
- | local 設定は .rbenv-version というファイルに記録される。 | + | この指定はRubyアプリ開発時に使用するRubyのバージョンを固定するために使う。プロジェクトのトップディレクトリで設定しよう。 |
+ | |||
+ | この設定は .rbenv-version というファイルに記録される。プロジェクトでRubyのバージョンを統一するために、このファイルをGit等のバージョン管理システムにコミットしてもよい。 | ||
==== global 指定 | ==== global 指定 | ||
- | local 設定が見つからない場合は、global 設定が使われる。普段使うバージョンを指定すると良い。 | + | local の設定が見つからない場合は、global |
$ rbenv global 2.0.0-p0 | $ rbenv global 2.0.0-p0 | ||
- | global 設定は ~/ | + | 普段使いたいRubyのバージョンを指定すると良い。 |
+ | |||
+ | global 設定は ~/ | ||
+ | |||
+ | ==== 現在の指定を確認 ==== | ||
+ | |||
+ | rbenv versionコマンドを実行 | ||
+ | |||
+ | $ rbenv version | ||
+ | 2.1.0 (set by / | ||
+ | |||
+ | "(set by カレントディレクトリ/ | ||
+ | |||
+ | $ rbenv version | ||
+ | 2.1.0 (set by / | ||
+ | |||
+ | "(set by ホームディレクトリ/ | ||
+ | |||
+ | $ rbenv version | ||
+ | 2.0.0-p0 (set by RBENV_VERSION environment variable) | ||
+ | |||
+ | " | ||
+ | |||
+ | ==== インストール済みRubyを確認する ==== | ||
+ | |||
+ | rbenv versions コマンドを実行 | ||
+ | |||
+ | $ rbenv versions | ||
+ | system | ||
+ | 1.8.7-p249 | ||
+ | 1.8.7-p371 | ||
+ | 1.9.3-p392 | ||
+ | 2.0.0-p0 | ||
+ | * 2.1.0 (set by / | ||
+ | |||
+ | |||
+ | ===== 最新版のRubyがインストールできない場合 ===== | ||
+ | 新しいrubyリリースされた後、その最新版がインストール対象にない場合はrbenvを更新する。 | ||
+ | |||
+ | $ cd ~/.rbenv | ||
+ | $ git pull | ||
+ | $ cd ~/ | ||
+ | $ git pull | ||
+ | |||
+ | rbenvをhomebrew等のパッケージ管理ツールでインストールした場合は、そちらで更新する。 |
rbenv.1361770046.txt.gz · 最終更新: 2013/02/25 05:27 by nullpon