目的
Ruby on Railsに触れる機会が出てきそうなので、その予習として行なったことをまとめること。
環境
前提
IntelMacとM1Macの違い
Rosseta上なのかARMアーキテクチャ上なのか
- M1 Macでプログラミングする上で注意すべき点で、いま動かそうとしてるプログラムは、「Rosseta上なのか」「ARMアーキテクチャ上なのか」意識する必要があります。なぜなら、Rosetta上では動くが、ARMネイティブで動かないプログラムがあるからです。
uname -m
で確認することが可能です。
arm64
- ARMで動いていました。
Rosettaって何?
- M1 Macの特徴:Rosetta を使ってIntel Mac用のソフトウェアを使うことができる(例外あり)
- Rosetta:従来のインテル用のMacアプリを Apple Silicon Mac上で自動的に変換して実行できるようにする仕組み
- 「Rosettaを使用してひらく」チェックボックスつけてアプリ起動すると、Rosetta上で動く 例) ターミナル, Xcode, iTerm2 など
- Rosetta使えば動くのか ARMネイティブ対応(M1最適化されてる)なのか ソフトウェア一覧まとめサイト Is Apple Silicon ready?
ruby-buildとともにrbenvをインストール
brew install ruby-build rbenv
でインストールしますvi ~/.zshrc
で以下のパスを追記します
export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
source ~/.zshrc
で再起動rbenv -v
などでrenvコマンドが使えることを確認rbenv install -l
でRubyのバージョン一覧を確認する
2.6.9 2.7.5 3.0.3 3.1.0 jruby-9.3.3.0 mruby-3.0.0 rbx-5.0 truffleruby-22.0.0.2 truffleruby+graalvm-22.0.0.2
- Rubyの3系を使っていきたいので、そちらに切り替えていきます。
2020年にリリースされた「Ruby 3.0.0」の変更点や新機能を解説 |パーソルテクノロジースタッフのエンジニア派遣
rbenv install 3.0.3
でインストール(結構時間がかかります)rbenv global 3.0.3
で切り替えruby -v
で変更されていることを確認変更されていなかったので、
which ruby
コマンドを実行
/usr/bin/ruby
こいつが
source ~/.zshrc
これで
/Users/yudainoda/.rbenv/shims/ruby
こうなると
ruby -v
が
ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [arm64-darwin20]
こうなります(雑ですみません)
which gem
でgemも使えることを確認しておきます
/Users/yudainoda/.rbenv/shims/gem
rbenvとは
- いろんなRubyのバージョンをインストールできる環境をつくれるソフトウェア
ruby-build — Homebrew Formulae
Railsのインストール
gem install rails
を実行gem list | grep rails
で確認してみると
rails (7.0.1) rails-dom-testing (2.0.3) rails-html-sanitizer (1.4.2)
入ってますね!
gem list | grep bundler
でbundlerの確認
bundler (default: 2.2.32)
これもいけてます
rbenv rehash
で更新したのちに、rails -v
でrailsコマンドが使用できることを確認
実装に移る前に〜Railsについて〜
- MVCアーキテクチャに基づいて構築されたフレームワーク
- DRY原則に基づく
- 設定より規約を優先する(Convention Over Configuration:CoC) = 開発者自らが当たり前の準備に時間を割くことから解放され、より高機能で、自由な開発環境を手に入れられる
- オブジェクト指向
- リソースフルルーティング
「Ruby on Rails」の基本理念とベースとなる考え方を知っていますか? :CodeZine(コードジン)
HelloWorldの実装
- 適当なディレクトリで
mkdir practice_ruby
的なフォルダを作成し、移動 rails new hello_app
を実行すると自動的にプロジェクトを作成してくれる- VSCodeでプロジェクトを開き、VSCodeのターミナル上で
rails server
を叩いて起動する - http://127.0.0.1:3000にアクセスして、RailsのWelcomeページが表示されることを確認
- app/controllers/application_controller.rb に追記
def hello render html: "Hello, world!" end
- config/routes.rbに追記
root 'application#hello'
お疲れ様でした! ここまでお付き合いいただきありがとうございます。