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 · 最終更新: by nullpon