はじめに
先日行われた、Okinawa.rb Meetup! @ ギークハウス沖縄 Ruby入門環境構築編 & もくもく回に参加してきました。
今回は環境構築編ということで、今まで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
- sinatraを起動
$ bundle exec ruby app.rb
bundle exec
を付けることによって、ディレクトリ内のgemを指定してコマンドを実行することができる。
ブラウザで下記にアクセスし、「Hello world!」と表示されればOK
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
- rails起動
$ bundle exec rails server
ブラウザで下記にアクセスし、「Yay! You’re on Rails!」と表示されればOK
6. RubyMine の使い方
特に説明はなかったが、とりあえず、コードジャンプ機能がすごいとのこと。 初心者のうちは絶対使ったほうが良いみたいなので、今後取り入れようか検討中。。。
今回参加してみて
gemって何?bundlerって何?の状態からだったので、頭の中を整理するのが結構大変でしたが、 実際にRubyで開発する上で必要なことなので、かなり勉強になりました。
一般的にはこの方法がよく使われます!みたいなこともいくつか教えて頂いたので、とてもためになりました。
個人的には、今回のレクチャーして頂いた内容以外にも、 実際にお金をもらえるようになるには1000時間必要だったりと、 そういった話なども聞けて技術以外にも収穫がありました。
1000時間とか本当にまだまだでこれからもかなり長いですが、頑張ります!笑
実際のエンジニアの方の話を聞いて、とても刺激的になった勉強会でした。 次回もぜひ参加させて頂きます!!
何気に初ブログ投稿で、一つの記事を仕上げるのにめちゃめちゃ時間がかってしまった。 これだととても効率が悪いので、普段からブログを書くくせをつけていこうと思った。