[2017年]MacでRuby on Rails環境構築を理由も含めてきちんと教えちゃる![Ruby]

 

 

なんと!9本の記事で詳しく丁寧に解説してるのだ!

 

こんにちは。ナガオカ(@boot_kt)です。

 

このエントリでは、

MacにRuby on Rails環境の、

インストール(と言うか構築手順)し、
Railsプロジェクトを作り始める

を説明しています

 

しかしっ!!!

このエントリは長いよ~~~~~~~~!
この記事を含めて、なんとっ!!!9本の記事で成り立ってますっ!

 

イマココ >> [2017年]MacでRuby on Rails環境構築を理由も含めてきちんと教えちゃる![Ruby] ba;;
>> [Mac][Ruby]Rails環境構築には、Xcode / Command Line Toolsが必要なのだ!
>> [Mac][Ruby]Rails環境構築には、Homebrewでパッケージ管理してラクをしろ!
>> [Mac][Ruby]Rails環境構築には、rbenvを使わないなんて正気ですかっ!?
>> [Mac][Ruby]Rails環境構築には、rbenvで複数のRubyバージョンを切り替えろ!
>> [Mac][Ruby]Rails環境構築には、Bundlerで複数のRailsバージョンを切り替えろ!
>> [Mac][Ruby]Rails環境構築には、データベースとしてSQLiteをオススメする!
>> [Mac][Ruby]Rails環境構築には、SQLiteを使うためのgemが必要!
>> [Mac][Ruby]Rails環境構築には、Railsプロジェクトの作り方にはコツがある!

 

インストールとRailsプロジェクトの作り始めまでを解説してるんだけど、それだけならこんな長く書く必要は無いっ!www

 

じゃぁ、なんでこんなに長いの?

 

Ruby on Railsのインストール手順を検索するとたくさんでてきますよね

しかし、調べれば調べるほど記事によって微妙に違うこと、ありません?

また、

なぜそれをインストールするのか?

という説明の無いものが多いと感じること無いっスか?

このエントリは、Rail環境構築の決定版を目指して全部きちんと解説することを目指しました!

 

ってことで、良かったらぜひ読んでください

 

用語について

一般的な使い方ではないけど、今回に限り以下のような意味で便宜上使い分けてます

用語について
用語 意味
エントリ 今回、Ruby on Railsのインストール手順を説明するために記事を複数書いています。
これら一連の記事全てで一つのまとまった情報ということでエントリと表現しています
記事 今回のエントリを構成する一本一本の記事のこと

 

この記事のザックリした内容
◆対象読者

  • Railsの環境構築手順を知りたい人
  • Railsの環境構築で、なぜそれらをインストールするのか「理解」したい人
  • Homebrew?、rbenv?、Bundeler?、gem? ←これらの事がよく分からない人
  • オススメしません!! → 手っ取り早くRails環境構築手順を知りたい人

 

 

 

このエントリの目的

このエントリではRailsのインストール手順を説明してるんだけど、、、、

実は、、、

 

インストール手順なんかどーーーでもええねん!

 

と思ってますwww

 

本当のテーマは、↓コレなんです!!! コレっ!

1.なぜそれをインストールするのか!

2.Rails環境の構成はどうなっているのか?というのを理解して、自分で絵が書ける

 

インストール手順なんて基本的にコマンドを打つだけなので、慣れれば誰でも想像つくんですよ
(想像つかないってことは、理解できてないってこと)

SQLiteをインストールしたかったらinstallとかsqliteみたいなコマンドを使うだろうし、Homebrew等のパッケージ管理を使っているならインストールコマンドなんてすぐに分かるはず

 

本当に知るべきなのは、インストール手順とかコマンドとかではないっ!!!

本当に知るべきことは、この2つ!!!

  • インストールするソフトウェア同士の関係性
  • インストールする理由/必要性

この2つが分かればインストールなんてラクショー!!!

 

ってことで、インストール手順だけを知りたい方は、このエントリはオススメしません

ここで離脱して、もっと説明の少ない情報を検索する方が良いでしょう
それに環境を作るだけなら、Cloud9等のサービスを使えば超簡単でっせぇ~

※プログラミング初心者ならCloud9とかを使うことをオススメするよ

 

インストール手順を追いかけるだけじゃなく、
Railsの環境をちゃんと理解したい
自分で構築できるようになりたい
と思う方だけ、このまま読み進めてもらえると嬉しいです

 

記事を読んでいく順番

MacでRuby on Railsの環境を作るには最低限これだけをインストールすればOK

  • Xcode(Command Line Tools)
  • Rails

※Rubyも必須だけど、Macには最初から入ってる
※データベースも必須だけど、Macには最初からSQLiteが入ってる

 

しかし実際のところ、これだけでは運用時に不都合が出ます
なので現実的な運用を考えると、上記リストに加えてこれだけのものも必要でしょう

  • Homebrew(パッケージ管理)
  • rbenv
  • Bundler
  • データベース(SQLiteとかMySQLとかPostgreSQL)

なぜこれらが必要なのか、どういう経路でインストールするべきかは他の8本の記事でそれぞれ解説してます

この記事では全体を俯瞰した説明として各記事の概要を書いてるので、まずはここを読んで全体像を想像してね

 

全体を俯瞰してみよう

「インストールするべきもの」と、「インストールという作業は不要だけど必要なもの(存在を意識しておくべきもの)」を挙げてます

あと、一応インストールするべき順番に書いてるのでその辺も意識して見てね
(順番についてはそんなに神経質にならなくてもいいけどね)

  1. Xcode or Command Line Tool
    この中にgccというコンパイラが入ってます
    Rubyが内部でこのコンパイラを使用する
     
  2. Homebrew
    RailsとかRuby専用ではないです

    Macにソフトをインストールする時の手順を簡単にしてくれるもの
    RubyやRailsを使うのに必須ではないけどが、入れておくことを超オススメ!

    Macのパッケージ管理システムは他にもあるよ
    MacPorts、Fink、Gentoo Prefix等あるみたい

    僕はHomebrewしか知らないけど

    ま、使い方が分かるならHomebrewでなくてもいいけど、知らない人はHomebrewでいいんじゃないかな
     

  3. rbenv
    Homebrew経由でインストールします
    必要に応じてRubyのバージョンを使い分ける(切り替える)のに必要
     
  4. Ruby
    rbenv経由でインストールします
    Ruby単独でインストールできるんだけど、rbenvでRubyバージョンを使い分ける(切り替える)ので、rbenv経由でインストール
     
  5. RubyGems
    大雑把に言うと、RubyGemsはRubyのプラグイン管理機能みたいなもん
    gemと呼ばれるRuby用のプラグインみたいなモンを管理します

    Rubyバージョン1.9以降であれば、Rubyをインストールすれば一緒に入るはず
    最近のRubyバージョンは2.4とかだから、特に気にしなくてもいい
    ただ、gemを使うということを意識しておいてね
     

    補足
    もう少しだけ正確に言うとRubyGemsはプラグイン管理機能じゃなくて、パッケージ管理システム(HomebrewはMac全体のパッケージ管理で、RubyGemsはあくまでもRubyの中のパッケージ管理なので混同しないでね)

    gemはプラグインじゃなくて、ライブラリとかRubyプログラム

    でもプラグインと捉えるほうが頭の中にイメージし易いと思うよ

    また、RubyGemsの実体(コマンドと言うか実行ファイルそのもの)はgem
    ターミナルでwhich gemって打てば居場所が分かるよ

     

  6. Bundler
    RubyGems経由でインストールします
    っていうか、Bundlerはgemです

    プロジェクトごとに使用するRubyやRailsやgem等のバージョンを決めるために使用

    Ruby本体やgemやRailsのバージョンを最新にした場合、古いバージョンで作ったプロジェクトが動かなくなることがある(Rubyを本格的にやらない人でも、この問題はぶち当たると思う)
    プロジェクトごとに使用するバージョンを決めておけば、そういう事態に陥るのを防げる
    Bundlerを使えばそれが可能になるんだよ
     

  7. データベース
    通常はSQLite、PostgresSQL、MySQLを使うことが多いです
    どれを使ってもいいよ
    ※Oracleも使えるようだけど、ネットの情報ではあまり見ないね
    Railsプロジェクトを作る際に、接続するDBの情報を書き換えればどれを使うことも可能

    このエントリではSQLiteを使うよ
    SQLiteというデータベースは扱いが一番簡単
    データベース初心者でも扱いやすいので、最初はSQLiteがおすすめ

    Homebrew経由でSQLiteをインストールします
    PostgresSQL・MySQLでも考え方は同じはず(タブン・・・)
    Oracleの場合はシラネ
     

    SQLiteはMacに最初からインストールされてるんじゃないの?
    SQLiteはMacに最初からインストールされてるのになんでHomebrew経由でインストールが必要なの?

    と思ってません?

    Homebrew経由でインストールしたSQLiteを使うと何かと便利だからです

    それに、Macに最初からインストールされてるSQLiteはバージョンが古かったりするしね

    なので、Macに最初からインストールされてるSQLiteは使いません
    詳しくは記事を読んでください
    >> [Mac][Ruby]Rails環境構築には、データベースとしてSQLiteをオススメする!

     

  8. データベース(SQLite)をRubyから使うためのgem
    RubyGems経由でインストールします

    SQLiteがMacに入っていても、Rubyのプログラムから使うためにはRubyとSQLiteを繋げてくれるライブラリ(gem)が必要
     

  9. Railsプロジェクトを作る
    やっとRailsプロジェクトを作るけど、Bundlerを通して作るのでちょっとした手順があります
    それを解説するよっ!!!
     

 

で、、、、

上記に挙げたものを見るとRailsをインストールしていないよね

Railsのインストール手順を説明するためのエントリなのに(笑)

 

「Railsの環境構築を解説するくせに、Rails無いとかwww、うはっ!こいつバカじゃね!?」

 

って思ってる?(泣)

 

Railsはね、プロジェクトを作る時に毎回インストールしまーーーす!
なので、「Railsプロジェクトを作る」の部分でRailsのインストール手順を説明してますっ!!!!
>> [Mac][Ruby]Rails環境構築には、Railsプロジェクトの作り方にはコツがある!

 

では、各記事を読みながら、一緒にRailsの環境を構築していこう!!!

全記事へのリンクを置いておきます
必要な部分だけを読んでもらえればいいけど、分からない人は上から順番に読み進めてね

読みながら作業すれば一層理解が深まるよ

 

では、Railsの世界へ飛び込もう!

 

イマココ >> [2017年]MacでRuby on Rails環境構築を理由も含めてきちんと教えちゃる![Ruby]
>> [Mac][Ruby]Rails環境構築には、Xcode / Command Line Toolsが必要なのだ!
>> [Mac][Ruby]Rails環境構築には、Homebrewでパッケージ管理してラクをしろ!
>> [Mac][Ruby]Rails環境構築には、rbenvを使わないなんて正気ですかっ!?
>> [Mac][Ruby]Rails環境構築には、rbenvで複数のRubyバージョンを切り替えろ!
>> [Mac][Ruby]Rails環境構築には、Bundlerで複数のRailsバージョンを切り替えろ!
>> [Mac][Ruby]Rails環境構築には、データベースとしてSQLiteをオススメする!
>> [Mac][Ruby]Rails環境構築には、SQLiteを使うためのgemが必要!
>> [Mac][Ruby]Rails環境構築には、Railsプロジェクトの作り方にはコツがある!

 

分からないこと、、、、現在調査中。。。

Bundlerを使えば、SQLiteのバージョンを切り替えられると思うんだけど、僕が思っているような切り替え方ができるのか?
できるとした場合、MySQLやPostgreSQLとかはどうなるの?

っていうのを調査中です

分かり次第更新します

 

広告




 

 


 

Rubyプログラミングのレッスンに興味がある方、レッスン内容を聞いてみたい方、なんなりとお問い合わせください。
無料体験レッスンもありますのでお気軽にどうぞ!!!

 

 

 

参考書籍

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。