Ruby on RailsチュートリアルでUser.firstを行ったら大量のエラー
railsチュートリアルの2章(2.3.3)で
% rails console
irb(main):001:0> first_user = User.first
〜略〜
1591 /Users/home/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/relation/predicate_builder.rb
1592 /Users/home/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.1/lib/active_record/table_metadata.rb
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
のようなエラーが出ました。
設定でエラーの最初の部分が読めなかったのですが、gemに原因があるのではと当たりをつける。
google先生に聴いてみるとどうもsqliteに問題がありそう。
ということで……
# gem uninstall sqlite3
# gem install sqlite3
を実行。
再びrails console
% rails console (git)-[master]
Running via Spring preloader in process 3605
Loading development environment (Rails 5.0.0.1)
Ignoring sqlite3-1.3.11 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.11
Ignoring sqlite3-1.3.11 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.11
Ignoring sqlite3-1.3.11 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.11
Ignoring sqlite3-1.3.11 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.11
Ignoring sqlite3-1.3.11 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.11
Ignoring sqlite3-1.3.11 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.11
No entry for terminal type "env/hooks";
using dumb terminal settings.
irb(main):001:0>
エラーの内容が変わっただけ…
あ、bundle install
してなかった。
% bundole install
Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Using rake 12.0.0
Using concurrent-ruby 1.0.4
Using i18n 0.7.0
Using minitest 5.10.1
Using thread_safe 0.3.5
〜略〜
Bundle complete! 16 Gemfile dependencies, 62 gems now installed.
Gems in the group production were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
これは来たのでは!!
3度目の正直になると信じて!
だめでした…… 最初のエラーと同じものが出てしまった。振り出し……
sqliteもしくはgem周辺が怪しいので調べてみると、参考になりそうなものが見つかりました。
参考サイトのようにbundle update
を試してみたら無事に解決しました。
まとめ
まずは環境を最新にしてみること!!
こんなオチですみません(汗