質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

1618閲覧

rails gコマンドでエラーが発生する

freeze

総合スコア21

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2018/02/03 16:48

前提・実現したいこと

rails newコマンドを実行した直後、rails g controllerコマンドを実行した際、
エラーが発生してコントローラを作成することができないため、解決したいです。

発生している問題・エラーメッセージ

freeze:~/workspace/instagram $ rails g controller instagrams index /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.3/lib/active_record/connection_adapters/connection_specification.rb:177:in `rescue in spec': Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError) from /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.3/lib/active_record/connection_adapters/connection_specification.rb:174:in `spec' from /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.3/lib/active_record/connection_handling.rb:50:in `establish_connection' from /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.3/lib/active_record/railtie.rb:120:in `block (2 levels) in <class:Railtie>' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/lazy_load_hooks.rb:44:in `each' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks' from /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.3/lib/active_record/base.rb:315:in `<module:ActiveRecord>' from /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.3/lib/active_record/base.rb:26:in `<top (required)>' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `block in require' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:240:in `load_dependency' from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application.rb:356:in `active_record_configured?' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application.rb:273:in `disconnect_database' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application.rb:107:in `preload' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run' from /usr/local/rvm/gems/ruby-2.3.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>' from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from -e:1:in `<main>'

試したこと

エラーメッセージだけ読むと、gemfileの記述に問題があるのかと思いましたが、
rails newコマンドを実行した直後に、rails gコマンドを実行していますので、
どこに原因があるのか、特定できませんでした。

補足情報

念のため、gemファイルの中身も記述しておきます。

source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.2.3' # Use postgresql as the database for Active Record gem 'pg' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.1.0' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks gem 'turbolinks' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.0' # bundle exec rake doc:rails generates the API under doc/api. gem 'sdoc', '~> 0.4.0', group: :doc # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Unicorn as the app server # gem 'unicorn' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug' # Access an IRB console on exception pages or by using <%= console %> in views gem 'web-console', '~> 2.0' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' end

初歩的な質問ですが、ご教示いただけると助かりますm(__)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun68ykt

2018/02/03 16:56

うまくいくか分からないので、こちらに書きますが、 rails g でコントローラを作る前に、 bundle install をやればうまくいくかも?と思いました。
freeze

2018/02/03 18:00

ご指摘ありがとうございます。質問の時点で、bundle installも実行してみましたが、上手くいきませんでした。記述が漏れており、申し訳ありません。
guest

回答2

0

ベストアンサー

すいません、説明不足でした。
GEMFILEを書いただけではgemはインストールされません。
bundle installなどのコマンドを実行して、GEMFILEに書いたパッケージ群をインストールしてやる必要があります。

エラーメッセージを見ると、pgが必要だけどloadできないよ、と怒られているので、おそらくgemがインストールされていないです。

↓bundle installについては、こちらの記事が参考になります。
https://railstutorial.jp/chapters/beginning?version=5.1#sec-bundler

投稿2018/02/03 19:25

inamasuk

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

freeze

2018/02/04 00:25

回答ありがとうございます。 bundleをすべて再インストール後、改めてrails gコマンドを流すことで 無事コントローラをインストールすることができました。 今後は、エラーメッセージをよく読んで対処したいと思いますm(__)m
freeze

2018/02/04 01:52 編集

既に解決済みとしてしまいましたが、こちらに追記しておきます。 この後、rails g modelコマンドで、再び同様の問題が発生してしまい、 困ってしまったのですが、pg 1.0を pg 0.21.0にダウングレードすることで 解決いたしました。 参考:https://github.com/rails/rails/issues/31669
guest

0

postgresqlのgemがloadできないと言われていますが、gemファイルにはpgが書いてありますね!
bundle installは実行してますか?
もししていなければ、bundle installを実行したあとにrails gを実行してみてはどうでしょうか。

投稿2018/02/03 19:00

inamasuk

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問