#こちらの記事について
超初学者が、『小学生でもわかるRuby on Rails入門』
を使用して、初めてRuby on Railsを動かしてみたときに、躓いたり調べたりしたことの備忘録です。OSはmac OSX Yosemite、Rubyのバージョンは2.2.2です。
備忘録として、躓いた順に書いていますが、要はこの教材のRubyのバージョンを把握し、きちんと環境を整えてから挑むべきであったと反省しています。初学者の方がこの記事をご覧でしたら、まずは下記参照記事などをご覧になって環境構築してから挑むことをお勧めします。
参照記事↓
『初心者必見!Ruby開発環境構築おすすめの方法【Mac/Windows別】』
##権限がない
『第1章 Ruby on Railsをはじめよう』で早速エラーが発生。
gem install rails
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
こちらのディレクトリを書き換える権限が無いよ、ということのようです。シンプルにこちらで回避しました。
sudo gem install rubygems-update
参照記事↓
『MacでRuby on Railsを使うおさらい-RubyGemsのアップデート-』
##Homebrewをインストールする
『第3章 実際にRailsアプリを作ってみる』で mitakalab-twitter をインストールしようとするとエラーが発生しました。
rails new mitakalab-twitter
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
そこで言われたとおりに素直に入力すると、パスワードの入力を求められたのちに
sudo gem install rails
こう怒られました
ERROR: Error installing rails:
activesupport requires Ruby version >= 2.2.2.
Rubyのバージョンが2.2.2でないとだめだったんですね。
そもそも、MacにはもともとRubyがインストールされているからそのままでOKなのではなく、複数のRubyを切り替えれる環境を構築する必要があったんですね…。
というわけで気を撮り直して、Macにhomebrewを
ruby-buildをインストール
brew update
brew install rbenv ruby-build
インストールに時間がかかるし、🍺とか出てきちゃって変なものがダウンロードされているんじゃ無いかと心配になりました。
rbenvの初期化スクリプトを.bash_profileへ追加
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
ちゃんと動いているか確認
rbenv -v
参照記事↓
『初心者必見!Ruby開発環境構築おすすめの方法【Mac/Windows別】』
『homebrewとは何者か。仕組みについて調べてみた』
##Rubyのバージョンを合わせる(homebrew)
インストールされているRubyのバージョンを確認する
rbenv versions
アスタリスクが付いている行が現在のバージョンです。使用したいバージョンがあればバージョンの変更を、なければインストールをします。
指定したいバージョンをインストールする
rbenv install 2.2.2
指定のバージョンに変更する
rbenv global 2.2.2
##bundlerをインストール
ようやっとrubyのバージョンを変更できるところまでたどりつきましたが、いざmitakalab-twitter をインストールしようとするとまた同じエラーが発生しました。
rails new mitakalab-twitter
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
homebrewでRubyのバージョンを変更してもgemでは変更できない…。RubyGemはRubyソフトウェアライブラリを管理するシステムで、macには元々Rubyとそれに不足したGemが入っているため、Gemを管理するためのシステムを入れる必要がありました。それがbundlerです。
bundlerをインストールする
gem install bundler
rbenvでrehashする
rbenv rehash
bundler -v
bundlerの設定ファイルを作成する
bundler init
bundlerの設定ファイルを編集する
source "https://rubygems.org"
gem 'rails', '2.2.2'
gem 'cocoapods' , '0.39.0'
※ここでrailsのバージョンを指定のものに変更しておく
gemに指定のバージョンをインストールする
sudo gem install activesupport -v 2.2.2
これ、順番としては真っ先にしておくべきことでした汗
参照記事↓
『RubyGems』
『rbenv rehashは何をやっているのか?』
『MacにHomeBrew,rbenv,bundlerをインストールする』
これでやっとアプリケーションを生成することができました。
finderから移動する場合はこちら↓
~/mitakalab-twitter/