スライドショー

初心者でもかんたん!Ruby on Rails の開発環境の構築手順(Mac/Windows 両対応)

こんにちは! システムエンジニアのオオイシです。

Ruby または Ruby on Rails のプログラミングを学びたいのに、開発環境の構築で諦めていませんか? 例えば、

  • ググっても開発環境の構築方法がわからない・・・
  • 開発環境の構築方法がいろいろありすぎて何か正しいのかわからない・・・
  • 挫折した・・・

他にもサーバー管理の知識はなくても、

  • とにかく早く環境が作りたい!
  • クラウド上の開発環境ではなくパソコン上で作りたい

なんて人もいらっしゃるようです。

そんなあなたに!!
これから解説する手順にどおりにやれば、Ruby と Ruby on Rails の開発環境が簡単につくれる方法を教えちゃいます!

すべて、コピペで作業できるようにしました。

本記事では、あなたのパソコン上に仮想環境(※後述)を構築して開発環境を作成する方法を紹介します。ご期待ください!

仮想環境とは

仮想環境とは、簡単に言うと、1台のコンピュータで複数のコンピュータを動させる技術のことを指します。

例えば、あなたが Mac を所有していたとして、その上にWindows、 Linux を同時に動作させることができるのです!

仮想環境のメリットはいろいろありますが、本記事で述べている範囲で言うと、

  • 環境を作って不要になればすぐ捨てられる
  • 複数人で作業している場合に、各々が所有しているパソコン環境に関係なく、同じ環境をそろえられる

があげられます。

仮想環境を作るには、仮想化ソフトのインストールが必要になりますが、後にインストール方法を紹介しているので読んでくださいね。

仮想環境へインストールする OS としては CentOS(Linux) を選びました。なぜならば、Linux は Ruby と親和性が高いからです。

Vagrant とは

Vagrant とは

Vagrant(ベイグラント)とは、仮想環境を簡単に構築・管理するツールです。
Vagrant は仮想環境そのものではなく、VirtualBox や VMWare など仮想化ソフトをコマンドラインから簡単に統一的に操作するためのツールです。

Vagrant は何がうれしいのか

次のことが実現できるようになります。

すぐに使える仮想環境を構築できる
・環境構築を自動化できる
・開発チームで同一の環境を構築できる

今回の記事では、説明しませんが、Ruby on Rails 環境構築までをコマンド一つで準備することが可能です。

すごい!

Vagrant でよく使うコマンドをまとめました。

よく使う vagrant コマンド一覧

vagrant up 仮想環境を起動する
vagrant halt 仮想環境を停止する
vagrant status 仮想環境の起動状態を確認する
vagrant ssh 仮想環境に ssh ログインする
vagrant destroy 作成した仮想環境を削除する

簡単に Ruby on Rails 環境を構築する手順

easy_ruby

構築する開発環境の全体概要

前置きが長くなりましたが、これから開発環境を作っていきましょう!

本記事が想定するパソコンの環境になります。

Mac OS X Mavericks 以降 メモリ 8Gbyte 以上
Windows Windows 7以降 メモリ 4Gbyte 以上

これから、あなたのパソコン上に Ruby または Ruby on Rails の環境を作る手順を作っていきますが、
まずは、図を見て全体の構成をイメージしてください。

 

overall_view

 

図上の [解説1] を見てください。

あなたのパソコンに仮想環境を作成し、別のOSをインストールして、Ruby on Rails の開発環境を作成します。
本記事では、仮想環境上に CentOS 7(Linux)をインストールします。

え?仮想環境を自分で作るのは難しいのでは!?

と思われるかもしれませんが、心配ありません。

図上の [解説2]Vagrant (ベイグラント)を使えば簡単にできます。

ちなみにですが、vagrant は ruby製のツールなんですよ!

そして、あなたが開発するときには、Mac または Windows にインストールした ターミナルコマンドプロンプト)やエディタ を使用して、仮想環境上の CentoOS で作業することになります。(※図上の [解説3]

なお、Linux の使い方やこれから説明するコマンドの詳細については、可能な範囲で省略しています。
Ruby on Rails の環境を簡単に構築することが目的なのでご理解ください。

では、作業を始めましょう!

VirtualBox をインストール

VirtualBox (バーチャルボックス)とは、PC上で別のOSをインストールするための仮想化ソフトです。
Oracle のDownload VirtualBoxで Mac OS X または Windows のパッケージ最新版をダウンロードしてインストールしてください

download_virtual_box1

インストール方法は、Mac または Windows の環境に応じて進めるだけなので、詳細説明は割愛します。

Vagrant をインストール

Vagrant(ベイグラント)とは、前述したとおり仮想環境の構築や管理を楽にできるツールです。
Downoad Vagrant ページ で Mac または Windows のパッケージ最新版をダウンロードしてインストールしてください。

download_vagrant

こちらもインストーラに従うだけでインストールが完了です。

Vagrant で Cent OS (Linux) をインストール

ターミナル(コマンドプロンプト)を立ち上げて、
Vagrant がインストールできたことを確認します。

次のコマンドを入力してください。

コード中の $コマンドプロンプトを意味しています。

$ vagrant -v
Vagrant 2.0.1

インストールが確認できましたか?

次に、CentOS インストール用のディレクトリ(Windows では フォルダ)を作成し、作成したディレクトリへ移動します。

作成場所は任意ですが、本記事では、 ~/vagrant/centos7 としました。

$ mkdir -p vagrant/centos7
$ cd vagrant/centos7

 

次に仮想環境(VirtualBox)へ、CentOS 7 をインストールします。

$ vagrant init centos/7  # CentOS7用のVagrant設定ファイルを作成する

Vagrantfileファイルがカレントディレクトリへ作成されるので、任意のエディタで開いてください。
仮想環境の上 CentOS の IP アドレスを指定するためにコメントを外します。

# config.vm.network "private_network", ip: "192.168.33.10"
↓
config.vm.network "private_network", ip: "192.168.33.10"

次に仮想環境を起動します。

初回は10分程度かかります。

$ vagrant up   

仮想環境上にCentOS 7 がインストールできました!

簡単でしょ?

仮想環境(CentOS)にログインしよう!

さて、仮想環境上のCentOS にログインします。
ログインするには、vagrant ssh コマンドを実行します。

$ vagrant ssh
[[email protected] ~]$          # Cent OS 上のプロンプト 

ここからは 仮想環境にインストールした CentoOS の説明になります。

仮想環境(CentOS)の起動と停止方法

次に進む前に selinux (エス・イー・リナックス)を無効化しておきます。

selinux とは、Linux のセキュリティ関連機能なのですが、開発環境ではトラブルの元になるので先に対応します。

※開発環境の構築とは無関係なので詳細な説明は割愛します

この作業は 仮想環境の再起動が必要ですので、Vagrant の起動と終了コマンドをついでに覚えておいてください。

# selinux を無効化する
$ sudo sed -i "s/\(^SELINUX=\).*/\disabled/" /etc/selinux/config
# CentOS からログアウトする
$ exit

# Mac または Windows から CentOS をシャットダウンする
$ vagrant halt
   
$ vagrant up # Cent OS にログイン    

$ vagrant ssh   # Cent OS にログイン
[[email protected] ~]$

rbenv をインストール

rbenv (アール・ビー・エンブ)とは、Rubyのバージョンを変更するためのツールです。

本記事では、Rubyのバージョン変更は行いませんが、Ruby をインストールする Plugin を利用するために追加します。

前準備として、rbenv をインストールするために必要な yum パッケージを入れます。

$ sudo yum install -y git gcc openssl-devel readline-devel zlib-devel sqlite-devel gcc-c++ libicu-devel cmake vim

つづいて、rbenv をインストールします。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
    
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

インストールが完了しました。rbenv が使えることを確認します。

$ rbenv --version
rbenv 1.1.1-28-gb943955  # version はインストール時期によって異なります

ruby-buildプラグイン を追加

rbenv へ Ruby をインストールできるようにするプラグインを追加します。

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Ruby をインストール

Ruby バージョンは 2.4.2 をインストールします。
インストールするのに5~10分ほど時間がかかります。

$ rbenv install 2.4.2

# CentOS環境全体で使えるrubyのバージョンを指定
$ rbenv global 2.4.2    

# ruby のバージョンや設定を反映
$ rbenv rehash     
    
$ ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]        

おめでとうございます!ruby がインストールできました!

Bundler のインストール

Ruby を使う上で必須となるのが、Bundler(バンドラー)です。

Bundlerとは、Rubyのライブラリ管理ツールのことで、Ruby on Rails や、本記事で紹介した Vagrant も Bundler でライブラリ管理しています。

Ruby を使う上で Bundler は絶対利用すると言っていいので、インストールは必須です!

では、インストールしましょう。

$ gem install bundler
$ rbenv rehash

$ bundle -v # bundler がインストールされたことを確認する
Bundler version 1.16.0

簡単ですね!

Ruby on Rails のインストール

※ Ruby on Rails が必要ない人は次項に進んでください。

インストール場所は、~/app/samurai/sample1 を想定しました。

インストールする Ruby on Rails のバージョンは、最新版にします。

$ mkdir -p app/samurai/sample1  # インストールディレクトリを作成
$ cd app/samurai/sample1/

# Bundler で管理する gem(ライブラリのかたまり)を記述する⇒
# Gemfile ファイルを作成 
$ bundle init

# gem “rails” のコメントを外す
$ sed -i 's/# gem "rails"/gem "rails", "~> 5.1.0"/g' Gemfile

# Ruby on Rails と関連する gem を自動でインストールする
$ bundle install --path vendor/bundler

# Ruby on Rails の雛形を作成
$ bundle exec rails new .   
     
# javascript のランタイムの gem のコメントを外す
$ sed -i "s/# gem 'therubyracer'/gem 'therubyracer'/g" Gemfile

# javascript のランタイムをインストールする
$ bundle install  

Ruby on Rails のインストール作業は以上です。

Ruby on Rails を起動してみよう!

rails サーバーを起動して、ブラウザで画面が表示されるのかを確認して見ましょう。

$ bin/rails s

Webブラウザで、http://192.168.33.10:3000/  にアクセスしてください。

rails_root

おめでとうございます!

無事に Ruby on Rails のインストールが完了しました!

以下は、本記事で紹介した vagrant と 開発環境構築を便利にするツールの紹介です!

開発しやすい環境を作る

仮想環境で開発しやすい環境を作るためには、ちょっとした環境作りが必要になります。

なぜ環境作りが必要かというと、CentOSでは Mac や Windows と違って高機能なエディタが使えないからです。

CentOS(Linux)上で使える高機能なエディタとして、vim(ヴィム。CUIで動作するエディタ)が超定番ですが、操作方法が独特なのでプログラミング初心者が使える人はまれです。

vim もいいですが、Mac や Windows で高機能なエディタを使いたいですよね!?

高機能なエディタを仮想環境でも使える環境を整備しましょう。

仮想環境で高機能エディタを使うには

sshfs(エス・エス・エイチ・エフエス) をインストールすれば解決できます。

sshfsとは、遠隔地のサーバーのディレクトリを、ローカル(あなたの Mac や Windows )環境のディレクトリ として利用するためのツールです。

インストールすると、あなたのパソコンから仮想環境上のCentOSへ簡単に接続することができます。

Mac や Windows から高機能なエディタを使いたい場合は必須の作業になります。

sshfs のインストール(Mac 編)

FUSE for macOS の最新版を ダウンロードしてインストールします。

SSHFS の最新版をインストールします。

インストールされたことをターミナルから確認します。

$ sshfs --version
SSHFS version 2.5 (OSXFUSE SSHFS 2.5.0)
OSXFUSE 3.7.1
FUSE library version: 2.9.7
fuse: no mount point

本記事で作った 仮想環境のCentOS に接続してみます。

$ mkdir app  # CentOSへ接続するディレクトを作成
$ sshfs [email protected]:/home/vagrant/app app

Mac からCentOS上のディレクトリが見えることを確認します。

$ ls -l app/samurai
drwxrwxr-x  1 ooishimakoto  staff  275 12 11 11:44 sample1

先ほど作成した、Ruby on Rails のディレクトリが見えましたね?

sshfs のインストール(Windows 編)

Windows で sshfs を利用する方法に詳しい説明があるので、こちらが参考になります。

本記事で作成した仮想環境上のCentOSに接続するための設定は、

Host 192.168.33.10
Port 22
Username vagrant
Authantication method PrivateKey
PrivateKey [vagrantインストールフォルダ]\.vagrant\machines\default\virtualbox\private_key
password vagrant

sshfs_manager

となります。接続できると、

sshfs_dir

のように、Windows エクスプローラから見ることができます。

Ruby の開発で使えるおすすめのエディタ

Sublime Text 3(有料ライセンスあり)
または
Atom(無料)
がおすすめです。

どちらも高機能で使いやすいのですが、Atomは若干重いのが難点です。重くなければ Atom がとっつきやすさで最強です!しかもフリーライセンス。

Windows でかっこいいターミナルを使うためには

Windows だと、Mac のようなかっこいいターミナルがなかったのですが、
git bash for windows + ConEmu の組み合わせが最強でした。

conemu

git bash for windows は、Windows 環境で Linux のような bash git を使えるツールです。

ConEmu は Windows のコマンドプロンプトが使いやすく、かつかっこよくなるツールです。

設定は、
Git bash + ConEmu+AutoHotkeyでLinuxのようなターミナル環境を整える を参考にして見てください。

Rubyを独学で頑張っているけど先が見えない方のために

いや、おれは違うぞ。先のキャリアもしっかり見えてるし、独学の成果も出てきている

そんな方であれば、これから先の話は必要ないでしょう。そっとページの閉じるボタンを押しましょう。

しかし、「先が見えない」と心の底では勘付いているそこの奥さん。この先を読み進めて、一緒に課題を深堀りしていきましょう。

なぜ「先が見えない」という不安や悩みを抱えてしまうのか

さて、「一寸先は闇だ・・・」とお悩みを抱えている方に、なぜ独学でRubyを勉強しているにもかかわらず、そのような現状を抱えてしまうのか、一緒に考えていきましょう。

先が見えない現状を踏まえ、課題として考えられるものは以下のどれかに該当するでしょう。

  • プログラミングの上達が見えない
  • プログラミングを継続できない気がする
  • プログラミングスキルを習得した姿がイメージできない
  • プログラミングスキルを活かした仕事を獲得するイメージができない

これらのどれかに該当することによって、「なんとなくプログラミング学習をしている」という状態になってしまいます。

これらの要因は、三日坊主になる理論と同じなんですが、「プログラミング学習をしなきゃ」とプログラミング学習を頑張ってしまっている状態になってしまっています。

受験勉強をやった経験のある方なら頭がもげるほどに首を縦に振ってしまう方も多いのですが、「今日も5時間勉強するぞ」や「今日はこの章を終わらすぞ」というように、学習を進めることに意識が行き過ぎてしまうと、ある程度学習を継続した後に「先が見えない・・・」となってしまいます。

未来に光を当て、プログラミング学習を「成果が出るもの」にするために

先ほど、「なぜ先が見えないという悩みや不安を抱えてしまうのか」という疑問に対しての答えを示していきました。

これらの課題というのは、独学をしていれば9割の方がぶつかってしまう壁だそうで、いわば、あるあるの現象なのです。

独学をしていて、「なんか前に進めていないぞ」と感じるのはこのせいなんですね。甘く見がちですが、非常にやっかい。

これがさらにやっかいさを極めているのは、上記に挙げた課題のほとんどが、1人で解決できないものばかりだからです。

実は、これらのほとんどが経験者に助けてもらいながら解決しないと、すぐに違う方向へと流れてしまいます。

そう言い切れるのは、以前の私もそうだったからです。

エンジニアやプログラマー関連のキャリアに詳しい方や現役のエンジニアに相談しながら修正を加え、学習を実践して今があります。

そうは言っても、周りにそういう人がいないし・・・

という方もいるでしょう。そういう時にこそ、プログラミングスクールの無料体験レッスンを利用するのです。

営業をかけられて時間の無駄に終わるでしょ?

という考えに辿りついてしまいますよね。結論から言うと弊社では、そういった強引な営業等を行うことはありませんので、安心して受講できます。

「プログラミング学習の先ある未来」を光で明るく照らすには、弊社の無料体験レッスンがぴったりだと断言できます。それくらい無料体験レッスンに自信を持っているのです。

さらに、無料体験レッスンには以下の3大特典もついてきます!

  • 「最短1ヶ月で開発ができる学習方法」電子書籍(非売品)
  • 効率的なオリジナル学習カリキュラム
  • 未経験の転職(フリーランス)を可能にするキャリアサポート

上記の特典だけでも他のスクールにはないポイントだと自信を持っている無料体験レッスン特典です。

ただプログラミング学習をする毎日から、ワクワクしながらプログラミング学習できる毎日に変える体験を一度でいいのでしてみませんか?

無料体験レッスン予約はこちら

まとめ

いかかでしたか?

Ruby や Ruby on Rails のローカルの開発環境を、仮想環境で構築する手順について書きました。
この記事がRubyプログラミングの世界の面白さを知っていただけるキッカケになれば幸いです。

でも、「自分一人で学習を進めるのに不安がある・・・

という方は『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは以下をご覧ください。

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

オオイシ

オオイシ

システムエンジニア歴15年のオオイシです!好物は Java と Ruby。プログラミング、システムアーキテクトからマネジメントに到るまでなんでも食べます。
システム開発の相談やお困りごとがあればお気軽に
[email protected] まで連絡頂けると幸いです

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説