『実践Ruby on Rails 4』読者サポートページ

このページは、弊社代表黒田努の著書『実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング』(インプレスジャパン刊、2014年5月23日発売)および『実践Ruby on Rails 4 機能拡張編(電子限定版)』(インプレスジャパン刊、2014年7月31日発売)の読者サポートページです。

最終更新日: 2018年5月15日

VirtualBox と Vagrant に関連する重要な情報

  • 本書刊行当時(2014年5月)、VirtualBox と Vagrant の最新版はそれぞれ 4.3.10 と 1.5.3 でしたが、2018年5月14日現在での最新版は 5.2.12 と 2.1.1 です。
  • VirtualBox と Vagrant に関しては、最新バージョンを使うことをお勧めします。
  • 古いバージョンの Vagrant(Ver. 2.0.4未満)では、vagrant up コマンドの実行時に Error: The requested URL returned error: 404 Not Found のようなエラーメッセージが出て、OS のインストールが進まないことがあります。
  • (対象: Microsoft Windows 10 をお使いの方) vagrant up コマンドが An error occurred while downloading the remote file. というエラーメッセージを表示して中断する場合があります。このときは、https://www.microsoft.com/ja-jp/download/details.aspx?id=5555 から「Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)」をダウンロードしてインストールしてください。

64 ビット版の Windows 10 をお使いの場合でも、この「(x86)」と書かれたものを利用してください。

CentOS に関する重要なお知らせ

(2017年5月25日) このセクションに書かれている問題については、CentOS 6 用の新しい Vagrantfile (1.0.5) を使用することで回避できます。ただし、書籍の p.19 および p.20 で Vagrant をインストールした後に、ターミナルで vagrant plugin install vagrant-vbguest というコマンドを実行してください。また、書籍の p.47 で Gemfile の末尾に記述を加える際、最初の gem 'therubyracer', platform: :ruby という行を除いてください。

  • 本書の P.20 において、Vagrantfile の選択肢として CentOS 版と Ubuntu Server 版があると記述されています。しかし、2017年3月23日現在の環境では、CentOS 版の Vagrantfile が正常に動きません。
  • 非常に申し訳ないのですが、Ubuntu Server 版を選択してください。

お知らせ

  • 重要 (対象: PostgreSQL をお使いの方) 書籍で指定されている Ruby on Rails のバージョン 4.1.0 では、Chapter 20 以降の学習で支障(サンプルアプリケーションの機能の一部が正しく動作しない)が出ます。4.1 系の最新バージョンにアップグレードしてください。詳細手順は以下のとおりです: ① https://rubygems.org/gems/rails/versions で 4.1. で始まる最新のバージョン番号を調べる。2016年9月14日現在、4.1.16です。②エディタで Gemfile を開き、gem 'rails', '4.1.0' の部分を gem 'rails', '4.1.16' のように書き換える。③ターミナルで bin/bundle update rails コマンドを実行する。
  • 重要 (対象: Microsoft Windows をお使いの方) MinGWとMSYSのインストール方法が変更された影響で、書籍2-2節「準備作業(Windows編)」の内容が一部古くなっています。正誤表を参照して、訂正してください。
  • 重要 (対象: Microsoft Windows をお使いの方) ユーザー名に半角英数字以外の文字(漢字、ひらがな、等)を用いている場合、Vagrant による環境構築で支障が出ます。半角英数字のみを用いた名前を持つユーザーを新たに作成し、そのユーザーに切り替えて本書の学習を進めてください。
  • 重要 RSpec のバージョンアップに伴い、各 spec ファイルの第1行目の記述を次のように修正する必要があります。
    • (修正前) require 'spec_helper'
    • (修正後) require 'rails_helper'

  • 重要 書籍発売後に何回か Vagrantfile が更新されています。Ruby のバージョンが 2.1.2 に変更された他、コマンドのスペルミスが訂正されています。古いバージョンを使っている方は、最新バージョンをダウンロードして、vagrant up をやり直すことをお勧めいたします。

執筆当時には Ruby 2.1.1 が存在したのですが、その後廃止されました。この変更に合わせて、書籍を読み進めるに当たっても Ruby のバージョンを読み替える必要があります(例、P.46 末尾)。

  • 書籍 P.22 で vagrant ssh コマンドを実行すると、Pseudo-terminal will not be allocated because stdin is not a terminal. というエラーメッセージが出て止まることがあります。この場合は、ターミナル(Windows では MinGW Shell)で以下のコマンドを順に実行してください。
    • vagrant ssh-config >> ~/.ssh/config
    • ssh default
  • 書籍 P.53 で bin/rake db:create を実行すると、例外 Gem::LoadError (詳しくは下記注を参照)が発生する場合があります。この場合は、エディタで Gemfile を開き、gem 'mysql2'gem 'mysql2', '~> 0.3.13' に書き換え、bin/bundle update mysql2 コマンドを実行してください。

具体的には Specified 'mysql2' for database adapter, but the gem is not loaded. Addgem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError) というエラーメッセージが表示されます。2015年9月30日現在における Gem パッケージ `mysql` の最新版 0.4.1 は、Ruby on Rails との相性が良くありません。

  • 書籍 P.63 で bin/rails g rspec:install を実行すると、カレントディレクトリに .rspec という名前のファイルが生成されます。その2行目の --warnings を削除してください。この行があると、Gem パッケージに起因する警告がターミナルに表示されるため、テストがやりにくくなります。
  • 書籍 p.65 で bin/rspec spec/experiments/string_spec.rb を実行すると、Unknown database 'baukis_test' というエラーメッセージが出て先に進めないことがあります。この場合は、最初の RSpec テストが失敗する場合を参照してください。

ダウンロード

サンプルアプリケーションの起動時に「`transition': failed to allocate memory (NoMemoryError)」というエラーが出る場合は、ターミナルで bin/bundle update tzinfo コマンドを実行してください。

(PostgreSQL を利用する方へ)エディタで Gemfile を開き、gem 'rails', '4.1.0'gem 'rails', '~> 4.1.16' に書き換え、bin/bundle update rails コマンドを実行してください。

(MySQL を利用する方へ)エディタで Gemfile を開き、gem 'mysql2'gem 'mysql2', '~> 0.3.13' に書き換え、bin/bundle update mysql2 コマンドを実行してください。

(Linux ユーザーの皆様へ)32 ビット版の Linux をホスト OS、Ubuntu をゲスト OS として Vagrant 環境を構築する場合、Vagrantfile の 2 行目にある "ubuntu/trusty64" という記述を "ubuntu/trusty32" で置き換える必要があります。

ダウンロード(機能拡張編)

連絡先

本書へのご意見・ご感想、誤字脱字のご報告などは、 へ。

なお、本書の内容に関する技術的な相談・質問も受け付けております。その場合は、ページ番号と実行環境(ホストOSとゲストOSの種類、VirtualBox, Vagrant, Rubyのバージョン等)を書き添えてください。本書の範囲から大きく外れる場合はお答えできない場合もございますので、あらかじめご了承ください。

記事一覧