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を同時に使うなど、複数の パッケージ管理システムを混在させて使うことはお勧めしません)。

手順

  1. ターミナルを開いてxcode-select --installと入力してください。次のウィンドウが表示されますので [インストール]ボタンをクリックしてAppleのコマンドラインデベロッパツールをインストールしてください。

  2. Macportsのwebページの 冒頭にある"Quickstart"のセクションから自分のmacOSのバージョンにあったインストーラを ダウンロードしてください。
  3. MacPorts-2.8.1-13-Ventura.pkgといった名前のファイルがダウンロードされていると思います。 このファイルをダブルクリックするとインストーラが起動しますので指示に従って インストールしてください。
  4. ターミナルを再度開いて(手順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
    
  5. ターミナルでnano ~/.zshrcと入力してnanoエディタでホームディレクトリの.zshrcファイルを開きます(最初は空のファイルになっているかもしれません)。
  6. nanoエディタに.zshrcファイルの内容が表示されていますからカーソルキーで末尾まで移動し、
    eval "$(rbenv init -)"
    
    という1行を加えてください。Ctrlキーを押しながらXキーを押すと"Save modified buffer (...)?"と聞いてきますのでYキーを押してください。これでファイルが保存されてnanoエディタが終了します。
  7. ここまで来たらmacOSを再起動してください。
  8. ターミナルを開いてruby -vと入力して、 "Ruby 3.2.2 (2023-03-30 revision ...)" という表示がでてくればRubyは正しくインストールされています。

Rubyプログラムの実行

この時点でターミナルからRubyのプログラムが実行できます。 次のようにして動作の流れを確認してください。
  1. 3.4章(P.43)のHelloWorld.rbをテキストエディタ(先ほど使用したnanoエディタやmacOS附属のテキストエディットなど)で編集して、デスクトップに保存してください。
  2. ターミナルを開き、cd ~/Desktopと入力してください。これでHelloWorld.rbが保存された場所にターミナル上で移動したことになります。
  3. P.44の一つ目の黒い囲みにあるように入力してください。 "Hello, World"と表示されましたか?
  4. 手順3で"ruby: No such file or directory -- HelloWorld.rb (LoadError)"のようにエラーが表示される 場合は、ターミナル上での居場所(カレントディレクトリ)と、HelloWorld.rbを保存した場所が異なっていますので確認してください。

Sinatraの動作実験

Sinatraを使ったプログラムもmacOS上ではそのまま動きます。次のようにして動作の流れを確認してください。
  1. ターミナルを開いてください。
  2. ターミナルから4.2章(P.81)の黒い囲みにあるように入力してください。
  3. ターミナルから4.3.1章の内容に沿って進めます。P.84末尾の黒い囲みにあるbundle exec ruby hello.rbを実行すると待ち受け状態に入ります。
  4. 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番ポートで待ち受けていることがわかります。

補足

戻る