Ruby
Rails
RubyonRails5の上手な使い方

一連の記事の目次
rails、君に決めた!!~目次

始めに

web開発を始めるにあたり、php,ruby,pythonのどれを使おうか迷いに迷った挙句、ruby、、に決めた!!実はPythonの国でDjangoをかじったことはあるのだが、どうも使いづらいのでオーキド博士に返却して新しいポケモンに手を出すことにしました笑
良さげな本を見つけたので、これに準拠してやっていく。
image.png

環境構築

rbenvのインストール

brew update
brew upgrade
brew install rbenv

Ruby-buildのインストール

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

rbenvでrubyのインストール

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
rbenv install 2.4.1
rbenv global 2.4.1

Node.jsのインストール

brew install node

gemによるライブラリ管理

英語の意味気になっちゃう人

gem: 宝石

gemには
1. パッケージ管理システムRubyGemsのこと
2. RubyGemsで管理するパッケージのこと
という二つの意味があるらしい

gem install pry

Bundlerを用いたgemの管理

gem install bundler

bundle: 束、塊

gemはパッケージ管理、bundlerは各gemのバージョン管理をするものという理解でいいのかな??gemがpipだとするとbundlerに対応するものってpythonの国ではなんなんだろう?

bundlerで遊んでみる。

mkdir bundle_project
cd bundle_project
bundle init
echo 'gem "rspec"' >> Gemfile
bundle install --path vendor/bundle

アプリケーションのローカルにあるgemを実行するには

bundle exec rspec

とすればいい。
lsで見てみるとGemfile.lockが生成されている。これがあれば各gemの依存関係を再現できるのか。

railsのインストール

mkdir rails_app
cd rails_app
bundle init

Gemfileを編集。

# gem "rails"
のコメントアウトを削除する

railsのgemをインストールする。--jobs=4は並列処理のオプション。

bundle install --path vendor/bundle --jobs=4

Railsのgemのインストールが完了したら、実際にRailsをインストールする

ドユコト??gemと実際のRailsって別物なのか〜

bundle exec rails new ./ -B -d mysql --skip-turbolinks --skip-test

Gemfileの上書き許可が求められるのでyを入力。
コマンドオプションについて
-B: --skip-bundleオプション。デフォルトのGemfileにある余計なものはインストールしない
-d mysal: データベースをmysqlにする
--skip-turbolinks: 高速画面遷移機能turbolinksをオフにする。

Gemfileを編集してcoffee-railsをコメントアウトしておく。もう主流ではないらしい。よくわからん。

# gem 'coffee-rails', '~> 4.2'

最後に

bundle install

環境構築終わり〜、長かった、、、と思ったらエラーでたww

An error occurred while installing mysql2 (0.4.10), and Bundler cannot
continue.
Make sure that `gem install mysql2 -v '0.4.10'` succeeds before bundling.

In Gemfile:
  mysql2

原因はmysqlが入ってないことらしい。(これ本には書いてないエラー)

brew install mysql
bundle install

にしたら成功した。