【注意】こちらは 2020年以降に発売された Apple シリコン の Mac を前提としております。2019年以前に発売された Intel プロセッサの Mac の方は こちら をご覧下さい。
「どちらか分からない」という方は,ターミナル(「Spotlight検索」で「terminal」もしくは「たーみなる」と入力すれば出てきます)を起動し,
以下を実行することで確認ができます。
sysctl machdep.cpu.brand_string
Apple M1
が含まれている場合はこの教材,Intel
が含まれている場合は こちら を参照下さい。
【注意】 ネットワーク通信量が大きいため,ご注意下さい。
特に,Dockに入っていないアプリはSpotlight検索
から起動する方法が便利です。
方法は2通りありますが,なるべくショートカットキーで覚えましょう。
command(⌘) + Space
(command(⌘)キー
を押しながらSpaceキー
を押す)Spotlight検索
で,例えば「メモ」と入力すると,「メモ」「ボイスメモ」などのアプリが候補として出てきます。ファイル検索も可能です。
Macには Safari
というブラウザが用意されておりますが,現在最も使用されているブラウザは Google Chrome
です。
Railsアプリの開発で必須といっても過言ではありませんので,まだインストールされていない方は,このタイミングで導入しておきましょう。
Google Chrome
をフォルダにドラッグ&ドロップする作業が終わりましたら,Spotlight検索で「chrome」と入力すれば候補に出ます。必要があればDockに追加しておきましょう。
プログラミングをする上で必須となるのが「コードエディタ」です。参考までに現在有名なエディタを列挙します。
2021年11月現在において,最もお勧めできるのは,VS Code
です。
無料でありながら,動作が軽快かつ拡張機能が豊富なエディタで,使用率も1位です。
以下,VS Code
をインストールする前提で進めていきます。
次のリンクからVS Code
のMac版をダウンロード
右下のDockにアイコンが追加されるのでそれをクリック
ダウンロードフォルダが表示されたら,Visual Studio Code
を「アプリケーション」フォルダに移動し,「アプリケーション」フォルダから開いてください。
「悪質なソフトウェアかどうかをappleでは確認できないため……」のような表示が出た場合は,アプリをダブルクリックするのではなく,右クリック(トラックパッドなら2本指でクリック)で出てくるメニューの「開く」をクリックして,「開く」をクリックして下さい。
初期設定は英語です。日本語で使用されたい場合は,以下の設定を行って下さい。
一番左に5つあるアイコン一番下のExtensions
をクリックし,「Japanese」で検索
一番上の「Japanese Language Pack for Visual Studio Code」を選択し,Install
ボタンをクリック
右下に現れるRestart Now
ボタンをクリック
VS Codeが再起動され,日本語化されます
以下の作業を行うと,ターミナル
からVS Code
を簡単に開くことができるようになります。
とても便利なので是非設定しておきましょう。
左下の歯車マークをクリックし,コマンドパレット
をクリック
shell
と入力して出てくる「シェルコマンド: PATH内に 'code' コマンドをインストールします」をクリック
パスワードを聞かれた場合は,Macのパスワード(macの初期設定で決めたパスワード)を入力してEnterキーを押して下さい
以上で設定は終了です。動作確認をしてみましょう。
まず,VS Code
を閉じて下さい
「ターミナル」を起動して下さい
「ターミナル」で code
と入力して実行(Enterキーを押す)
VS Code
が起動すればOKです
(code .
を実行すると,カレントディレクトリをVS code
で開くことができます)
「保存のし忘れ」でコードが反映されないケースがよくあります。
VS Code
には,自動で保存する設定がありますので,設定をお勧めします。
【補足】より細かい調整については,後の教材で紹介しております。
【注意】ターミナルは Rossetta を使用して開かないようにして下さい。使用しているかどうかが分からない方は,次の画像を参考に確認して下さい。
MacOS では特に有名なパッケージ管理システムである Homebrew
をインストールしておきましょう。
Homebrew をインストール済みがどうかが不明な場合は,ターミナルから次を実行して下さい。
brew -v
Homebrew 3.3.2
のようなバージョン情報が表示されればインストール済みですので,brew update
を実行した上で次に進んでOKです。(バージョンの数字は異なっていても構いません)
command not found: brew
と表示された場合は,まだインストールできていませんので,以下をペーストして Enter キーを押して下さい。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
【注意】環境構築に関するコマンドは原則コピペするようにしてください。1文字のミスで原因追求に膨大な時間を浪費することになります
次の画像のような「パスワード入力画面」になりましたら, Mac で設定したパスワードを入力し,Enterキーを押して下さい。
(入力しても何も表示されませんが,これはセキュリティを考慮したターミナルの仕様です)
次に press RETURN to continue or any other key to abort
と表示されたら,「Enterキー」を押して下さい。
インストールが完了したら,パスを通す必要があるのですが,実行環境の シェル
の種類により方法が異なります。
シェルの種類を確認するため,次をターミナルから実行して下さい。
echo $SHELL
出力結果を確認し,対応する方のコマンドをターミナルから実行して下さい。
# 実行結果が /bin/zsh の場合
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zprofile
# 実行結果が /bin/bash の場合
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.bash_profile
さらに次を実行し,シェルを再起動して下さい。
exec $SHELL -l
インストールできているかどうかの確認のため,ターミナルから次のコマンドを実行して下さい。
brew -v
Homebrew 3.3.2
のようなバージョン情報が表示されればOKです。(バージョンの数字は異なっていても構いません)
以下の教材の 0章 を参考にGitのインストールなどを行なって下さい。
https://www.yanbaru-code.com/texts/317
さらに,以下のGitの課題を先に済ませることをお勧めします。
https://github.com/yoshitokamizato/joint_dev_task/blob/master/1_Git%E8%AA%B2%E9%A1%8C.md
Macには最初からRuby
がインストールされていますが,Rails
の学習を進める中で,いずれ複数のRuby
のバージョンを用いる機会が出てきます。
そのため,rbenv
(アールビー・エンブ)という Ruby のバージョン管理ツールをインストールし,複数のバージョンの Ruby
を利用できる状態にしておきましょう。
Ruby のバージョン管理ツールである rbenv
をインストールしましょう。次を実行して下さい。
brew install libpq libyaml rbenv
(すでにインストール済みの方は brew upgrade rbenv ruby-build
を実行してから 2.2.3 に進んで下さい)
次に rbenv
のパスを通しましょう。対応する方のコマンドを実行して下さい。
# zsh の場合
echo 'export PATH="~/.rbenv/shims:$PATH"' >> ~/.zprofile
echo 'eval "$(rbenv init -)"' >> ~/.zprofile
# bash の場合
echo 'export PATH="~/.rbenv/shims:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
次を実行し,シェルを再起動して下さい。
exec $SHELL -l
次を実行し,バージョン情報が表示されればOKです。
rbenv -v
それでは, rbenv
を利用して Ruby
のインストールを行いましょう。
まず,最新のRuby
の安定バージョンを確認して下さい。次のコマンドで最新の10個のバージョンを確認できます。
rbenv install -L | grep -v - | tail -n 10
例えばバージョン 3.1.0
をインストールする場合は,次を実行します。
rbenv install 3.1.0
インストールが完了したら,インストールできているかどうかの確認のため,ターミナルに次のコマンドを入力して下さい。指定したバージョンが含まれていればOKです。
rbenv versions
Rubyで使用するデフォルトのバージョンを 3.1.0
に設定する場合は,次を実行して下さい。
rbenv global 3.1.0
シェルの再起動後,Rubyのバージョンを確認して下さい。指定したバージョンが表示されればOKです。
exec $SHELL -l
ruby -v
Rails が必要とする Node.js
をインストールしましょう。
Node.js
は直接 Homebrew からインストールすることもできるのですが,Rails が使用する node-sass
が node のバージョン14以下にしか対応していません。
また, Node.js も Ruby 同様,複数のバージョンを使用することになることと思いますので,バージョン管理ツール経由でインストールすることとしましょう。
ここでは, Node.js のバージョン管理ツールの1つである nodenv
経由でインストールすることとします。
nodenv
をインストールするため,先に anyenv
をインストールしましょう。
brew install anyenv
rbenv
同様,シェルに応じてパスを通しましょう。
# zsh の場合
echo 'eval "$(anyenv init -)"' >> ~/.zprofile
# bash の場合
echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
シェルの再起動後,先ほどインストールした anyenv
経由で nodenv
をインストールしましょう。
exec $SHELL -l
anyenv install nodenv
シェルの再起動後,インストールができているかどうかを確認するため,バージョンを確認しておいて下さい。
exec $SHELL -l
nodenv -v
次に Node.js
をインストールしましょう。次を実行することで,ダウンロードしたいバージョン14の最新5件が一覧表示されます。
nodenv install -l | grep -E "^14\." | tail -n 5
例えば 14.18.1
をインストールして使用する場合は次を実行して下さい。
nodenv install 14.18.1
nodenv global 14.18.1
シェルの再起動後,指定したバージョンになっているかどうかを確認しておいて下さい。
exec $SHELL -l
node -v
Rails 6
のアプリを作成するには, JavaScript
のパッケージマネージャである Yarn
もインストールしておく必要がありますので,次を実行しましょう。
brew install yarn
次を実行し,バージョンが表示されればOKです。
yarn -v
ターミナルから次を実行して下さい。
which ruby
/Users/ユーザー名/.rbenv/shims/ruby
が表示されればOKです。
/usr/bin/ruby
と表示された場合は,Rubyがrbenv
で管理されていませんので,先に「2. 」に記載した設定を行って下さい。
gem
(Ruby
のライブラリ)のバージョン管理ツールである Bundler
をインストールしましょう。バージョンが表示されることも確認して下さい。
gem install bundler
bundler -v
ここでようやく Ruby on Rails
をインストールしましょう。
Rails のバージョン 7 はまだ不安定かつ情報が不足していますので, Rails 6 の最新バージョンをインストールする前提で進めます。
まず,6系の最新バージョンを確認して下さい。
gem search -aer rails
例えば, rails (7.0.1, 7.0.0, 6.1.4.4, 6.1.4.3, 6.1.4.2 ...
のように表示されている場合は, 6系の最新は 6.1.4.4
ですので,次を実行して下さい。
gem install rails:6.1.4.4
exec $SHELL -l
rails -v
バージョンが表示されればOKです。
これで最低限の準備ができました。Rails のアプリを作成できるか確認しましょう。
テスト用のアプリですので, デスクトップ
に作成する前提で進めることとします。
次を実行し,「デスクトップ」に cd コマンドで移動して Rails アプリを作成しましょう。
cd ~/desktop
rails _6.1.4.4_ new rails6_app
(rails new アプリ名
コマンドで,カレントディレクトリに指定した「アプリ名」のディレクトリが作成され,その中に Rails アプリのベースとなるディレクトリやファイルが作成されます。
_バージョン_
の表記でバージョンを指定することができます)
初回実行時は, gem
(Rubyのライブラリ)のインストールでかなり時間がかかります。Webpacker successfully installed
が表示されれば成功です。
アプリのディレクトリに移動しましょう。
cd rails6_app
今回はデフォルトの状態で Rails サーバーを起動してみましょう。
rails s
Use Ctrl-C to stop
が表示された後に,ブラウザで http://localhost:3000/ のURLにアクセスして下さい。
画像のような「Yay! You're on Rails!」が表示されればOKです。
確認が終わりましたら,ターミナルにて control + c
でサーバーを停止させてください。
アプリを作成する際,特に指定しなければデータベースシステムが SQ Lite3
になります。
テストアプリを作成される場合は問題ありませんが,ポートフォリオを作成するような場合に使用することはお勧めできません。
データベースシステムは PostgreSQL
もしくは MySQL
を指定するべきです。
MySQL
はエラー解決が大変になるケースが多く,また,最初のデプロイ先として利用する Heroku
のデフォルトデータベースシステムが PostgreSQL
であることを踏まえ,初学者の方には PostgreSQL
をお勧めしております。
データベースシステムに PostgreSQL
を指定してRailsアプリを作成するには,先に PostgreSQL
をインストールし,起動しておく必要があります。
PostgreSQL をインストール済みで起動しているかどうかが分からない場合は次を実行して下さい。
ps x | grep -v grep | grep postgresql
何も表示されなければ,次の2つのコマンドを実行して下さい。
brew install postgresql@15
brew services start postgresql@15
次を実行すれば PostgreSQL を起動できているかどうかを確認できます。
brew services list
postgresql started
で始まる1行が表示されればOKです。次に, PostgreSQL に直接接続できるかどうかを確認してみましょう。
psql postgres
# postgres=# で始まる状態になっている(PostgreSQL に接続している)ことを確認
\l
# 注意: バックスラッシュの後は 1 ではなく,アルファベット小文字の「エル」です
# List of databases が表示されればOK
exit;
(何らかの事情で,パスワードなどしっかり設定されたい方は別途調べて下さい。ただし,Railsアプリのdatabase.ymlを毎回調整する必要が出てきます)
それでは,データベースを PostgreSQL
に指定してアプリを作成してみましょう。
-d postgresql
を追加することで,データベースを PostgreSQL
に指定できます。
cd ~/desktop
rails _6.1.4.4_ new rails6_psql_app -d postgresql
cd rails6_psql_app
データベースシステムに PostgreSQL
もしくは MySQL
を指定した場合は,アプリが使用するデータベースを作成しておく必要があります。
rails db:create
今回は,scaffold
コマンドでメッセージ投稿機能を付けましょう。
rails g scaffold Post body:string
rails db:migrate
Rails サーバーを起動しましょう。
rails s
Use Ctrl-C to stop
が表示された後に,ブラウザで今回は http://localhost:3000/posts のURLにアクセスして下さい。
無調整なので全て英語ですが, New Post
からメッセージを投稿できます。Back
で戻ると一覧表示画面に戻り, Edit / Destroy
から編集・削除ができればOKです。
確認が終わりましたら,ターミナルで control + c
でサーバーを停止させてください。
(後の都合上,1件以上投稿を残した状態にして下さい)
PostgreSQLのデータベースの中身を確認されたい場合は Postico
というGUIソフトが便利です。無料でも十分利用できますので,インストールされるとよいでしょう。
こちらのページの Download
ボタンをクリックし,zipファイルを解凍して出てくる Postico
をアプリケーションディレクトリに移動した上で,実行して下さい。
特別な設定をされていなければ,画像のように Database
を postgres
にして Connect
ボタンを押せば接続できます。(今後使いやすいように Nickname も指定されるとよいでしょう)
左上の「localhost」をクリックすれば,データベース一覧が表示されます。
「rails6_psql_app_development」をダブルタップし,左側の「posts」テーブルをダブルタップして,先ほど投稿したデータが入っているかを確認してみましょう。
再度 rails s
で Rails サーバーを起動し,ブラウザからメッセージの新規投稿を行った後に, Postico
の右上のほうにある更新ボタンをクリックすると,データが更新されることも確認してみてもよいでしょう。(確認後に control + c
でサーバーを停止させて下さい)
確認が終われば,テスト用のデータベースは必要がないので,「rails6_psql_app_development」「rails6_psql_app_test」の両方を削除しておきましょう。
(MariaDB の導入は必須ではありませんので,エラーを解決できない場合は後回しにして構いません)
次にもう一つよく使用されるデータベースシステムである MySQL
もインストールしておきましょう。
ただ, MySQL は Oracle に買収されたことで,MySQL から派生した MariaDB がデフォルトになりつつあり,AWS EC2 の Amazon Linux 2 でもデフォルトは MariaDB になっていますので,ここでは MariaDB
をインストールする前提で進めます。
(MariaDB は MySQL とほぼ同じように使用できます。どうしてもMySQLをインストールされたい方は3.8を参考にして下さい)
先に,MySQLをインストール済みで起動していないか確認して下さい。
ps x | grep -v grep | grep mysql
何か表示された場合は,すでに MySQL がインストールされて起動済みです。状況次第ではインストール済みの MySQL を停止,もしくは削除する必要があります。
何も表示されていない場合は,次の2つのコマンドを実行して下さい。
brew install mariadb
brew services start mariadb
次を実行すれば MariaDB を起動できているかどうかを確認できます。
brew services list
mariadb started
で始まる1行が表示されればOKです。次に,sudo なしで root アカウントで接続できるようにしておきます。
(何らかの事情で,パスワードなどしっかり設定されたい方は別途調べて下さい)
mysql
# MariaDB [(none)]> が表示されている(MariaDBに接続できている)ことを確認
GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED VIA mysql_native_password;
FLUSH PRIVILEGES;
exit;
mysql -u root
# MariaDB [(none)]> が表示されている(MariaDBに接続できている)ことを確認
exit;
さらに次を実行すれば準備が完了です。
bundle config --global build.mysql2 "--with-ldflags=-L/opt/homebrew/opt/openssl/lib"
exec $SHELL -l
それでは,データベースシステムを Mariadb
に指定してアプリを作成してみましょう。
-d mysql
を追加することで,データベースシステムを Mariadb
に指定できます。
cd ~/desktop
rails _6.1.4.4_ new rails6_mysql_app -d mysql
cd rails6_mysql_app
rails db:create
今回も,scaffold
コマンドでメッセージ投稿機能を付けましょう。
rails g scaffold Post body:string
rails db:migrate
Rails サーバーを起動しましょう。
rails s
Use Ctrl-C to stop
が表示された後に,ブラウザで今回は http://localhost:3000/posts のURLにアクセスして下さい。
確認が終わりましたら,ターミナルで control + c
でサーバーを停止させてください。
(後の都合上,1件以上投稿を残した状態にして下さい)
MySQL のデータベースの中身を確認されたい場合は Sequel Ace
というGUIソフトが便利です。(ネット上でよく見かける Sequel Pro は開発が終了しております)
App Store で「Sequel Ace」で検索すればアプリが見つかるでしょう。
アプリを開いたら,TCP/IP
タブを選択されていることを確認した上で,次のように記載しましょう。
項目 | 内容 |
---|---|
Name | localhost(任意) |
Host | localhost |
Username | root(変更したい場合はそちらを記入) |
Password | (設定していなければ記入不要) |
Database | 無記入でOK |
Port | 無記入でOK |
次回から設定を省けるよう Add to Favorites
ボタンをクリックしてお気に入り登録をした上で,Connect
ボタンをクリックしましょう。
左上の Choose Database...
のプルダウンメニューでデータベースを選択できます。
データベースの削除は,次の画像のようにアプリケーションメニューから行います。「rails6_mysql_app_development」「rails6_mysql_app_test」は削除しておきましょう。
最後にデスクトップに作成した「rails6_app」「rails6_psql_app」「rails6_mysql_app」は削除して下さい。
これで Ruby on Rails の環境構築は終了です。お疲れ様でした!
(MariaDBをどうしても避けたい方のみご覧下さい。絶対に MariaDB と MySQL の両方をインストールしないで下さい)
brew install mysql@5.7
brew services start mysql@5.7
brew link mysql@5.7 --force
# zshの場合
echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zprofile
# bashの場合
echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.bash_profile
bundle config --global build.mysql2 "--with-ldflags=-L/opt/homebrew/opt/openssl/lib"
exec $SHELL -l