RubyとSinatraではじめるWebアプリケーション開発の教科書
サポートページ (MacでRubyとSinatraを使う)
2023年7月10日更新
2023年7月現在、Apple Silicon搭載のMacではVirtualBox上でUbuntu Serverを動かすことが
できません。幸いなことにmacOSは完全なUNIXですから、本書の多くの場合は
VirtualBoxを入れずとも試すことができます。本書の2.3章、2.4章、2.5章、3.2章は飛ばします。
ここではMacportsを使った方法を紹介します。Homebrewなど別のパッケージ管理システムを
お使いの場合は適宜読み替えてください(MacPortsとHomebrewを同時に使うなど、複数の
パッケージ管理システムを混在させて使うことはお勧めしません)。
手順
- ターミナルを開いて
xcode-select --install
と入力してください。次のウィンドウが表示されますので
[インストール]ボタンをクリックしてAppleのコマンドラインデベロッパツールをインストールしてください。
- Macportsのwebページの
冒頭にある"Quickstart"のセクションから自分のmacOSのバージョンにあったインストーラを
ダウンロードしてください。
- MacPorts-2.8.1-13-Ventura.pkgといった名前のファイルがダウンロードされていると思います。
このファイルをダブルクリックするとインストーラが起動しますので指示に従って
インストールしてください。
- ターミナルを再度開いて(手順1で開いたままの場合はいったん閉じて再度開いて)、次のように1行ずつ入力していきます。3.2.2という場所(2カ所)を変えるとインストールするRubyのバージョンが変わります。
sudo port selfupdate (管理者パスワードを聞かれます)
sudo port -N -c install rbenv ruby-build gdbm libyaml sqlite3 openssl
RUBY_CONFIGURE_OPTS="--with-gdbm-dir=/opt/local --with-openssl-dir=/opt/local --with-libyaml-dir=/opt/local" rbenv install 3.2.2
rbenv global 3.2.2
rbenv exec gem update
rbenv exec gem install bundler sqlite3
rbenv rehash
- ターミナルで
nano ~/.zshrc
と入力してnanoエディタでホームディレクトリの.zshrcファイルを開きます(最初は空のファイルになっているかもしれません)。
- nanoエディタに.zshrcファイルの内容が表示されていますからカーソルキーで末尾まで移動し、
eval "$(rbenv init -)"
という1行を加えてください。Ctrlキーを押しながらXキーを押すと"Save modified buffer (...)?"と聞いてきますのでYキーを押してください。これでファイルが保存されてnanoエディタが終了します。
- ここまで来たらmacOSを再起動してください。
- ターミナルを開いて
ruby -v
と入力して、
"Ruby 3.2.2 (2023-03-30 revision ...)"
という表示がでてくればRubyは正しくインストールされています。
Rubyプログラムの実行
この時点でターミナルからRubyのプログラムが実行できます。
次のようにして動作の流れを確認してください。
- 3.4章(P.43)のHelloWorld.rbをテキストエディタ(先ほど使用したnanoエディタやmacOS附属のテキストエディットなど)で編集して、デスクトップに保存してください。
- ターミナルを開き、
cd ~/Desktop
と入力してください。これでHelloWorld.rbが保存された場所にターミナル上で移動したことになります。
- P.44の一つ目の黒い囲みにあるように入力してください。
"Hello, World"と表示されましたか?
- 手順3で"ruby: No such file or directory -- HelloWorld.rb (LoadError)"のようにエラーが表示される
場合は、ターミナル上での居場所(カレントディレクトリ)と、HelloWorld.rbを保存した場所が異なっていますので確認してください。
Sinatraの動作実験
Sinatraを使ったプログラムもmacOS上ではそのまま動きます。次のようにして動作の流れを確認してください。
- ターミナルを開いてください。
- ターミナルから4.2章(P.81)の黒い囲みにあるように入力してください。
- ターミナルから4.3.1章の内容に沿って進めます。P.84末尾の黒い囲みにある
bundle exec ruby hello.rb
を実行すると待ち受け状態に入ります。
- macOS上でSafariやFirefoxなどのwebブラウザを起動し、http://127.0.0.1:4567/を開いてください。"Hello, A Whole New World."と表示されたでしょうか。P.85の1つめの水色の囲みではhttp://127.0.0.1:9998/となっていますが、VirtualBoxを使っておらずポートフォワーディング(2.4.3章参照)していないため、4567を指定します。手順3を実行するとターミナルに
"== Sinatra (v3.0.6) has taken the stage on 4567 for production with backup from WEBrick"と
表示されており、4567番ポートで待ち受けていることがわかります。
補足
- 本書の3章以降、Ubuntu上で入力するコマンドはすべてmacOSのターミナル上で入力してください。
- 本書P.105の
sudo apt install sqlite3 libsqlite3-dev
は入力不要です。
- 本書P.206の
sudo apt install nkf
はsudo port install nkf
と読み替えてください。
戻る