Mac OS上でRuby on Rails

注意_

ここではUnix/Linuxコマンドを利用する。ターミナル上でUni/Linuxコマンドを入力することを以下のように表記している。冒頭の「%」はコマンド入力を表す。

% Unix/Linuxコマンド

たとえば、以下の表記はターミナル上で小文字のlsを打ち込み、Enterキーを押すことを表している。

% ls

以下の例はターミナル上で小文字のcalを入力し、スペースキーを入力後、半角英数字の2020を押して、Enterキーを押すことを表している。

% cal 2020

検証環境_

一般_

CUI環境の準備_

Mac OSでは「ターミナル」というアプリケーションを用いてCUIで操作を行うことができる。

追加のUnix/Linuxコマンド(ソフトウェア)をインストールするためにはHomebrewを用いる。

MacOS上でのテキスト編集_

Mac OS純正のテキストエディットを使用する。ターミナルのホームディレクトリ以下にあるファイルにアクセスする場合は以下のようにFinderからファイルを開けるようにする。

  1. Finderを起動する
  2. (以下初回のみ)「サイドバー」を選択する
  3. 家のアイコン(家のアイコンの横にユーザ名が記載されている)のチェックボックスをチェックする。
  4. Finderを開いたときのサイドバーにホームディレクトリのアイコン(家のアイコン)をクリックする。

Ruby_

Gitのインストール_

Rubyをrbenvを用いてインストールするためにバージョン管理システムGitをインストールする。

% brew search git
% brew install git
% git --version
git version 2.24.3 (Apple Git-128)

rbenvのインストール_

MacでのRuby環境構築2020を参考に設定する。

% brew install rbenv
% which rbenv
/usr/local/bin/rbenv

rbenvの設定。シェル(ユーザからのコマンド入力を支援するソフトウェア)の設定ファイルに設定を記載する。

MacOSのバージョンによってシェルが異なり、シェルの設定ファイルも異なるので、適宜読み替えること。

  • Mac OS 11.00 Big Sur: シェル zsh。設定ファイル.zshrc
  • Mac OS 10.15 Catalina: シェル zsh。設定ファイル.zshrc
  • Mac OS 10.14 Mojave: シェル bash。設定ファイル.bash_profile
  • Mac OS 10.13 High Sierra: シェル bash。設定ファイル.bash_profile

以下の例はMac OS 10.15 Catalinaの例となる。まず、以下のコマンドでどのファイルに設定を書き込むのか確認する。

% rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init -)"

ホームディレクトリにある.zshrcというファイルに「eval "$(rbenv init -)"」を書き込めと指示されているため、以下のコマンドにより書き込む。以下のコマンドにより、.zshrcの末尾に「eval "$(rbenv init -)"」を追記できる。

% echo 'eval "$(rbenv init -)"' >> ~/.zshrc

書き込まれているか確認する。以下のように最後に「eval "$(rbenv init -)"」が表示されていれば、書き込み成功である。

% tail ~/.zshrc
〜途中省略〜
eval "$(rbenv init -)"

設定を反映させる。

% source ~/.zshrc

rubyのインストール_

% rbenv install 2.7.1
% rbenv global 2.7.1
% rbenv rehash

% ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]

% which ruby
/Users/gotoh/.rbenv/shims/ruby 
(注:私の環境の場合は私のホームディレクトリ /Users/gotohの下にインストールされている。これはユーザ名ごとに異なる)

Ruby on Rails_

yarnとNode.jpのインストール_

Rails6からwebpackerというものを使うようになる。このために必要なパッケージをインストールする。

% brew install yarn
% yarn --version
1.22.5
% node --version
v14.11.0

Ruby on Railsのインストール_

gemを最新版にする。

% gem update --system
% gem --version
3.1.4

gemでライブラリーをインストールした際にドキュメントを生成すると時間がかかる。そこで、ドキュメントを生成しない設定にする。

% cd
% touch .gemrc
% echo "install: --no-document" >> .gemrc
% echo "update: --no-document" >> .gemrc

% more .gemrc
install: --no-document
update: --no-document

Ruby on Railsをインストールする。

% gem install rails

% rails -v (注:エラーメッセージがでているが無視して良い)
mkdir: /usr/local/bin/../version_cache: Permission denied
/usr/local/bin/rbenv-communal-gem-home: line 21: /usr/local/bin/../version_cache/2.7.1: No such file or directory
Rails 6.0.3.3

動作確認をする。

% % mkdir RailsTest
% cd RailsTest
% rails new demo --skip-bundle
% cd demo
% bundle install
% rails webpacker:install

Ruby on Railsの動作確認を行う。以下のコマンドで開発用Webサーバを起動する。

% rails server
mkdir: /usr/local/bin/../version_cache: Permission denied
/usr/local/bin/rbenv-communal-gem-home: line 21: /usr/local/bin/../version_cache/2.7.1: No such file or directory
=> Booting Puma
=> Rails 6.0.3.3 application starting in development 
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.6 (ruby 2.7.1-p83), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:3000
* Listening on tcp://[::1]:3000
Use Ctrl-C to stop

Safariを起動し、http://0.0.0.0:3000/ にアクセスし、Ruby on Railsのメッセージが出ていたらインストール&設定成功している。

開発用Webサーバを停止させる。Ctrlキーを押しながら「C」のキーを押す(以下、この操作をCtrl-cと表記する)。

Ruby on Railsの開発環境には http://0.0.0.0:3000/で経由でアクセスできる。

Scaffoldを使ってみる_

関係データベース(SQLite3)との接続を確認するためにRuby on RailsのScaffold(足場)という機能を使って、簡単な入出力アプリを作ってみる。

% rails generate scaffold person name:string age:integer
% rails db:migrate
% rails server

Webブラウザで http://0.0.0.0:3000/people にアクセスし、personの入力、閲覧、変更、削除ができるならば関係データベースとの接続は成功している。

このアプリケーションのデータベースはSQLite3を使っており、データベースファイルはdemo/db/development.sqlite3 にある。

エディタviの練習(もし、興味があれば)_

Mac OS Xの端末上における標準エディタはviである。ほとんどのUnix系システムでデフォルトで用意されているエディタであるviの基本的な使いかたを紹介する。なお、日本語入力の方法については今回は割愛する。

まずは、viが存在するかをチェックする。

% which vi

viを起動する。

% vi

viは編集モードと入力モードの2つのモードがある。Escキーを押すと編集モードになり、編集モードで「i」や「a」を押すと入力モードに入る。 とりあえず、文章を書いてみる。「i」を押して以下のように文章を打つ。

Hello World!

文章を打ち終ったらEscキーを押して、編集モードにする。ファイルに名前をつけて保存する。編集モードで「:w ファイル名」と入力する。

:w hello.txt

保存せず、終了する。

:q!

viでファイルを開く。

% vi hello.txt

入力モードから編集モードへの切り替え

  • ESCキー

編集モードにおける主なコマンド

  • i: 挿入。カーソル位置から入力する
  • a: 追加。カーソル位置の一文字次から入力する
  • o(スモールオー): 次の行から入力を始める
  • O(ラージオー):ひとつ前の行から入力を始める(行を新規に挿入する)
  • x: カーソルがある文字を削除。emacsで言うC-dと同じ働き。
  • dd: 一行削除(バッファ上には保存)。emacsで言うC-kと同じ働き。
  • h, j, k, l:それぞれ、左、下、上、右へ移動
  • 0(ゼロ):行の先頭へ移動
  • $:行の末尾へ移動
  • H:ターミナルに表示されている一番最初の行へ移動
  • L:ターミナルに表示されている最終行へ移動
  • y: カーソルのある行をコピー(バッファ上へ保存)
  • p: バッファ上の行を挿入
  • J:カーソルがある行と次の行を連結
  • u:アンドゥ(操作の取消し)
  • .(ピリオド):ひとつ前の操作を繰り返し実行
  • :wq:上書きして終了
  • :q!:保存せず終了
  • 参考:

戻る_