ユーザ用ツール

サイト用ツール


rbenv

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
rbenv [2013/02/25 05:27] – [ruby-build] nullponrbenv [2022/07/22 15:34] (現在) – [global 指定] nullpon
行 1: 行 1:
 ====== rbenv ====== ====== rbenv ======
-Rubyの複数バージョンを管理するツール。+[[https://github.com/sstephenson/rbenv|rbenv]]はRubyの複数バージョンを管理するツール。
  
 rbenv は ~/.rbenv/shims をPATHに追加して ruby コマンドを ~/.rbenv/shims/ruby に置き換える。この ruby コマンドの実体はシェルスクリプトで rbenv で選択したバージョンの ruby を呼び出している。 rbenv は ~/.rbenv/shims をPATHに追加して ruby コマンドを ~/.rbenv/shims/ruby に置き換える。この ruby コマンドの実体はシェルスクリプトで rbenv で選択したバージョンの ruby を呼び出している。
  
 ===== Rubyのインストール ===== ===== Rubyのインストール =====
-rbenv自体にはRubyをインストール機能がない。自前でビルドしても良いが ruby-build というプラグインを入れるのが普通。+rbenv自体にはRubyをインストール機能がない。自前でビルドしても良いが [[https://github.com/sstephenson/ruby-build|ruby-build]] というプラグインを入れるのが普通。
  
-==== ruby-build ==== +ruby-buildをインストールするとinstall/uninstallサブコマンドが使えるようになる
-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=/usr/local/bin/gcc-4.8 rbenv install 1.8.7-p249
 +  
 +X11/Xlib.hが無いと言われる場合はCPPFLAGSでヘッダファイルの場所を指定
 +
 +  $ CC=/usr/local/bin/gcc-4.8 CPPFLAGS=I/usr/X11/include rbenv install 1.8.7-p249
 +  
 +
 +2.0.0-p0ではopensslを独自にビルドするのでopensslを別途インストール不要。ただしbrewでインストールしたものを指定したい場合は、
 +
 +  $ RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.0.0-p0
 +
  
  
-===== バージョンを選択 =====+===== 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 設定は ~/.rbenv/version に記録される+普段使いたいRubyのバージョンを指定すると良い。 
 + 
 +global 設定は ~/.rbenv/version に記録される(RBENV_ROOT環境変数が設定されている場合は $RBENV_ROOR/version) 
 + 
 +==== 現在の指定を確認 ==== 
 + 
 +rbenv versionコマンドを実行 
 + 
 +  $ rbenv version 
 +  2.1.0 (set by /Users/nullpon/hoge/fuga/piyo/.ruby-version) 
 + 
 +"(set by カレントディレクトリ/.ruby-version)" の場合はlocalで指定されている 
 + 
 +  $ rbenv version 
 +  2.1.0 (set by /Users/nullpon/.rbenv/version) 
 + 
 +"(set by ホームディレクトリ/.rbenv/version)" の場合はglobalで指定されている 
 + 
 +  $ rbenv version 
 +  2.0.0-p0 (set by RBENV_VERSION environment variable) 
 +   
 +"RBENV_VERSION environment variable" はshellで指定されている。shell指定はターミナル環境で使うべきではない。 
 + 
 +==== インストール済み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 /Users/nullpon/.rbenv/version) 
 + 
 + 
 +===== 最新版のRubyがインストールできない場合 ===== 
 +新しいrubyリリースされた後、その最新版がインストール対象にない場合はrbenvを更新する。 
 + 
 +  $ cd ~/.rbenv 
 +  $ git pull 
 +  $ cd ~/.rbenv/plugins/ruby-build 
 +  $ git pull 
 + 
 +rbenvをhomebrew等のパッケージ管理ツールでインストールした場合は、そちらで更新する。
rbenv.1361770046.txt.gz · 最終更新: 2013/02/25 05:27 by nullpon