[Rails 5] rbenvでRubyをインストールして新規Rails開発環境を準備する

こんにちは、hachi8833です。 今回はrbenvを使ってRails 5のrails newを実行できるまでの環境づくりについてメモします。 以前のTechRacho記事「Rails4でサイト構築をする – Rails環境構築編」ではrvmを使いましたが、今回はBPS Webチームでも主流のrbenvにします。 1. rbenvとruby-buildをインストールする rbenv 複数バージョンのRubyをインストールして簡単に切り替えるソフトウェアです。 ruby-build rbenvのプラグインで、さまざまなバージョンのRubyの取得元が保存されています。新しいバージョンのRubyがリリースされるとruby-buildも更新されるので、これを取得することで新しいバージョンのRubyをrbenvで簡単にインストールできるようになります。 詳しくは本家Readmeにすべて書いてあります。 rbenv Readme ruby-build Readme aptコマンドが使えるLinux環境の場合 apt-get installコマンドでインストールが完了します。 $ apt-get install rbenv ruby-build ※yumやDNFを使うLinuxディストリビューションの場合、rbenvはgit cloneでインストールします。 新しいRubyがリリースされたら、以下を実行してruby-buildを更新できます。他のパッケージもついでに更新されます。 $ apt-get update $ apt-get upgrade 注: 開発環境を念頭に置いているので、本番環境ではaptコマンドをむやみに実行しないようご注意ください。 Mac + homebrewの場合 homebrewを使ってインストールするのが楽です。 通常であれば、以下のようにrbenvとruby-buildをhomebrewでインストールします。 $ brew install rbenv ruby-build 私も当初上の方法でインストールしていましたが、homebrewのruby-buildはRubyの新バージョンリリース後すぐに更新されないことがよくあったので(1日〜2日ほどの遅れ)、以下の方法でホームディレクトリの.rbenv/pluginsの下に直接ruby-buildをインストールする方法に切り替えました。 $ brew install rbenv $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build git cloneでruby-buildをインストールした場合、新しいRubyがリリースされたときに次の方法でruby-buildを更新できます。 $ cd ~/.rbenv/plugins/ruby-build $ git pull 補足: rbenv rehashは現在は不要 以前のrbenvでは、Rubyをインストール/アンインストールした後にrbenv rehashを実行する必要がありました。 これが面倒だということで、rbenv-gem-rehashというプラグインをインストールするのが流行ったことがあります。 しかしその後rbenvでrehashが不要になったため、rbenv-gem-rehashプラグインも非推奨(Deprecated)になりました。 補足: Macでpryに日本語を入力する 必須ではありませんが、Macのpryで日本語を入力できない場合、以下の方法で入力できるようになります(ついでにOpenSSLライブラリもインストールしています)。 Rubyをインストールする前に以下を実行します。 $ brew install readline openssl 通常ならこれでRubyをインストールすればpryで日本語を入力できるようになりますが、私のMac環境では以下の方法でRubyをインストールしないとpryで日本語を入力できませんでした。 $ RUBY_CONFIGURE_OPTS=”–with-readline-dir=$(brew –prefix readline) –with-openssl-dir=$(brew –prefix openssl)” rbenv install <バージョン> 必ずやらなければならないものでもないので、日本語が入力できない場合にどうぞ。 参考: いつもいつも忘れてしまうのでruby-buildのconfigureオプションの設定についてメモっておく 2. rbenvを設定する 2-1. パスの設定 以下を~/.bash_profileに追記し、シェルを再起動するか新しいシェルを起動するとパスが有効になります(.bash_profileが.bashrcで読み込まれるようになっているのが前提です)。 export PATH=”$HOME/.rbenv/bin:$PATH” if which rbenv > /dev/null; then eval “$(rbenv init -)”; fi パスをすぐに有効にしたい場合は、以下を実行します。 $ source ~/.bash_profile 2-2. デフォルトgemの設定 rbenvをインストールすると、ホームディレクトリの.rbenvに以下のファイル/ディレクトリが作成されます。 このうちdefault-gemsというファイルにgemの名前だけを記入しておくと、rbenvで新しいRubyをインストールするときにそのgemも自動でインストールしてくれます。 このファイルを有効にするには、Rubyをインストールする前にbrew install rbenv-default-gemsを実行する必要があります。 参考: rbenvでrubyをインストールした時に、指定したgemを自動的に入れてくれるようにする default-gemsにはどのgemを指定するのがよいか default-gemsにどんなgemを記入しておくのがよいかは、Rubyの利用目的によってさまざまだと思います。 しかし、Rails開発であればdefault-gemsにはbundlerだけを記入するのがおすすめです。 bundler default-gemsにたくさんのgemを追加するとRubyのインストールが遅くなるためです。 なお、私の場合はRailsと別にRubyを単独で使うことも多いので、pryとpry関連のgemだけ追加しています。 bundler pry pry-byebug pry-stack_explorer pry-doc gemがインストールされる場所 rbenvを利用すると、default-gemsおよびgem installコマンドでインストールされるgemは~/.rbenv/versions/<バージョン>/lib/ruby/gems以下に置かれます。 Railsのproduction環境では、–deploymentオプションをつけることでプロジェクトフォルダのvendor/bundle以下にgemがインストールされます。これはrbenvとは無関係です。 参考: Railsのbundle install –deploymentとは何なのか 3. rbenvでRubyをインストールする rbenvが準備できたので、最新バージョンのRubyをインストールしてみましょう。 3-1. ruby-buildのアップデート 以下の方法で最新のruby-buildを取得します。 aptが使えるLinux: apt-get update; apt-get upgrade Mac: cd ~/.rbenv/plugins/ruby-build; git pull 3-2. Rubyバージョンの確認とインストール rbenv install -lを実行し、ruby-buildで利用できるバージョンのリストを確認します。 インストールしたいバージョンを見つけたら、次を実行してRubyをインストールします。 # rbenv install <インストールするバージョン> rbenvはRubyのソースコードを取得してビルドするので、それなりに時間がかかります。これは仕方がないですね。 rbenv versionsを実行し、Rubyがインストールされたことを確認します。*が付いているバージョンが現在アクティブなバージョンです。ディレクトリに.ruby-versionファイル(後述)があると、そこで指定しているバージョンが強制的にアクティブなバージョンになるのでご注意ください。 3-3. Rubyバージョンを切り替える rbenv global <バージョン>を実行すると、デフォルトのRubyバージョンを指定できます。 … Continue reading [Rails 5] rbenvでRubyをインストールして新規Rails開発環境を準備する