Ryo's Blog

沖縄でITエンジニアやってます。

Okinawa.rb Meetup! @ ギークハウス沖縄 Ruby入門環境構築編 & もくもく回に参加した

はじめに

先日行われた、Okinawa.rb Meetup! @ ギークハウス沖縄 Ruby入門環境構築編 & もくもく回に参加してきました。

okinawarb.doorkeeper.jp

今回は環境構築編ということで、今までProgateやドットインストールでしか学習経験がない僕にとって、ローカルでの環境構築をしたことがなかったので、かなり勉強になりました。

Okinawa.rb Meetupも、ギークハウス沖縄も初めてだったので、緊張しながらもいろいろ教えて頂きました。ありがとうございます!!

今回のレクチャーして頂いた内容を自分なりにまとめてみました。

1. brewインストール

今回は参加者全員インストール済みだったので、特に説明は無し。

ちなみに、brew(ブルー)とはMac OS上でソフトウェアの導入を単純化するパッケージ管理システム。

2. rbenv, ruby-buildのインストール

rbenvとは、簡単に言うと複数のRubyのバージョンを切り替えられるツール。

ruby-buildは、rbenv installというコマンドを提供しているrbenvのプラグインで、Rubyをインストールするためによく使われている。 ruby-buildをアップデートすれば、最新版のRubyを引っ張ってくることができる。

  • rbenv、ruby-buildインストール
$ brew install rbenv ruby-build
  • 環境に合わせてパスを通す
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
  • 設定内容を反映
$ source ~/.bash_profile
  • バージョン確認
$ rbenv -v
rbenv 1.1.1

$ ruby-build --version
ruby-build 20180224

3. rbenvの使い方

  • 利用可能なRubyのバージョンを確認
$ rbenv install --list
Available versions:
  1.8.5-p52
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115
  1.8.5-p231
  1.8.6
  1.8.6-p36
  1.8.6-p110
  1.8.6-p111
  1.8.6-p114
  1.8.6-p230
  1.8.6-p286
  1.8.6-p287
  1.8.6-p368
  1.8.6-p369
  1.8.6-p383
  1.8.6-p388
  1.8.6-p398
  1.8.6-p399

・・・

  rbx-3.87
  rbx-3.88
  rbx-3.89
  ree-1.8.7-2011.03
  ree-1.8.7-2011.12
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev
  • 利用したいRubyのバージョンを指定してインストール
$ rbenv install 2.5.0
  • インストール済みRubyバージョン確認
$ rbenv versions
* system (set by /Users/rnakamine/.rbenv/version)
  2.5.0

「*」が付いているのが、現在設定されているRubyのバージョン(systemはMac OSにデフォルトで入っているバージョン)

~/.rbenv/versionの配下にインストールされたRubyが配置される。

  • グローバル(全体)のRubyのバージョンを変更(rbenv global <Ruby Version>を使う)
$ rbenv global 2.5.0
$ mkdir sample
$ cd sample

$ rbenv local 2.5.0

localでバージョンを指定することによって、sampleディレクト以下のRubyのバージョンを変更できる。 プロジェクトに毎にRubyのバージョンを変えたい場合はこれを使う。

4. bundlerとは、 bundlerの使い方

bundlerはgem同士の依存関係を保ちながら、gemの導入・管理を行ってくれる。

  • bundlerのインストール
$ gem install bundler

5. Sinatra, Railsのを作ってみる

Sinatra

適当なディレクトリを作成し、rbenvでRubyのバージョンを指定。今回は2.5.0を使用

$ mkdir sinatra-sample
$ cd sinatra-sample

$ rbenv local 2.5.0

Gemfileを作成

# Gemfile
source 'https://rubygems.org'

gem 'sinatra'
gem 'sinatra-contrib'
  • sinatraで使用するgemを記述して一括インストール
$ bundle install --path=vendor/bundle

--path=vendor/bundleを付け加えることで、gemをディレクトリ内のvendor/bundleにインストールすることができ、アプリケーションごとにgemを管理できるようになる。

  • app.rbを作成
# app.rb
require 'sinatra'
require 'sinatra/reloader' if development?

get '/' do
  'Hello world!'
end
$ bundle exec ruby app.rb

bundle execを付けることによって、ディレクトリ内のgemを指定してコマンドを実行することができる。

ブラウザで下記にアクセスし、「Hello world!」と表示されればOK

http://localhost:4567

Rails

適当なディレクトリを作成し、rbenvでRubyのバージョンを指定。今回は2.5.0を使用

$ mkdir rails-sample
$ cd rails-sample

$ rbenv local 2.5.0
  • railsをインストール
$ gem install rails

バージョンを指定しない場合、最新版がインストールされる

  • Railsプロジェクト作成
$ rails new sample-app --skip-bundle

--skip-bundleを指定しないと、bundle installが行われ、ローカルのRuby自体にgemがインストールされてしまう。「-B」でもOK

  • sample-appディレクトリに移動、gitの管理対象からvendor/を外す
$ cd sample-app
$ echo 'vendor/' >> .gitignore
  • Gemfileに記述されている内容を一括インストール
bundle install --path=vendor/bundle
$ bundle exec rails server

ブラウザで下記にアクセスし、「Yay! You’re on Rails!」と表示されればOK

http://localhost:3000

6. RubyMine の使い方

特に説明はなかったが、とりあえず、コードジャンプ機能がすごいとのこと。 初心者のうちは絶対使ったほうが良いみたいなので、今後取り入れようか検討中。。。

今回参加してみて

gemって何?bundlerって何?の状態からだったので、頭の中を整理するのが結構大変でしたが、 実際にRubyで開発する上で必要なことなので、かなり勉強になりました。

一般的にはこの方法がよく使われます!みたいなこともいくつか教えて頂いたので、とてもためになりました。

個人的には、今回のレクチャーして頂いた内容以外にも、 実際にお金をもらえるようになるには1000時間必要だったりと、 そういった話なども聞けて技術以外にも収穫がありました。

1000時間とか本当にまだまだでこれからもかなり長いですが、頑張ります!笑

実際のエンジニアの方の話を聞いて、とても刺激的になった勉強会でした。 次回もぜひ参加させて頂きます!!

何気に初ブログ投稿で、一つの記事を仕上げるのにめちゃめちゃ時間がかってしまった。 これだととても効率が悪いので、普段からブログを書くくせをつけていこうと思った。