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

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

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

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

Ruby

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

Q&A

1回答

2435閲覧

Rails Tutorial 2章、「concern.rb」に問題がありrails 5.2.0が動作しない

kinaphar

総合スコア8

Ruby on Rails 5

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

Ruby

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

0グッド

0クリップ

投稿2018/07/02 03:25

編集2018/07/02 03:26

前提・実現したいこと

Ruby on Rails を読み、第2章「Toyアプリケーション」を読み進めている途中で、「pg」絡みのエラーに困り、1からやり直しましたが頓挫しています。これを解決して続きを読み進めたいです。

Amazon AWSで、[Create environment]で新しい環境を作りなおしても、内部設定が引き継がれてしまうようです(一旦 rails5.2.0 を導入後だと、新規environmentを作っても、「rails -v」を打つと5.2.0と出てくる)
いっそ、このあたりの設定を完全にリセットしたいとも思いました。
が、方法が分かりませんでした。(Amazon AWSのアカウントを別途取り直すしかないのでしょうか)。

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

Amazon AWS のCloud9 IDEで進めています。
Rails Tutorial第1章の手順を、rails5.2.0で一通り終えた状態です。
(最新の5.2.0を導入後、5.1.4にダウングレードしたかったのですが、かなり難しいようだったので諦めました。Gemfileの記述など、必要な変更を施しながら読み進めました。)

2章で$ bundle install (--without production を忘れてしまった)を実行してしまったからか、「pg 0.20.0」絡みのエラーで先に進めなくなりました。(今、エラーメッセージを再度確認するため再現を試みましたが上手くいかず。)
これを回避するため、1から作り直すべく[Create environment]で新規に環境を作り、↓の手順を踏み直しました。

① $ rails new toy_app
② $ cd toy_app
③ Gemfileを以下に書き換え

source 'https://rubygems.org' gem 'rails', '5.2.0' gem 'puma', '3.9.1' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.2.0' gem 'coffee-rails', '4.2.2' gem 'jquery-rails', '4.3.1' gem 'turbolinks', '5.0.1' gem 'jbuilder', '2.7.0' gem 'bootsnap', '1.2.0' group :development, :test do gem 'sqlite3', '1.3.13' gem 'byebug', '9.0.6', platform: :mri end group :development do gem 'web-console', '3.5.1' gem 'listen', '3.1.5' gem 'spring', '2.0.2' gem 'spring-watcher-listen', '2.0.1' end group :production do gem 'pg', '0.20.0' end

④ $ bundle install --without production
⑤ (gitの設定、「helloの追加」、は一旦スキップ)
⑥ $ rails generate scaffold User name:string email:string
ここで以下のエラーが出ます。

/usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/concern.rb:128:in `included': Cannot define multiple 'included' blocks for a Concern (ActiveSupport::Concern::MultipleIncludedBlocks) from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/actionview-5.2.0/lib/action_view/view_paths.rb:7:in `<module:ViewPaths>' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/actionview-5.2.0/lib/action_view/view_paths.rb:4:in `<module:ActionView>' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/actionview-5.2.0/lib/action_view/view_paths.rb:3:in `<main>' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:19:in `require' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:19:in `block in require_with_bootsnap_lfi' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:18:in `require_with_bootsnap_lfi' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:27:in `require' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/actionview-5.2.0/lib/action_view/rendering.rb:3:in `<main>' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:19:in `require' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:19:in `block in require_with_bootsnap_lfi' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:18:in `require_with_bootsnap_lfi' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:27:in `require' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require' from /usr/local/rvm/gems/ruby-2.4.1/gems/jbuilder-2.7.0/lib/jbuilder/railtie.rb:15:in `<module:ApiRendering>' from /usr/local/rvm/gems/ruby-2.4.1/gems/jbuilder-2.7.0/lib/jbuilder/railtie.rb:14:in `<module:ActionController>' from /usr/local/rvm/gems/ruby-2.4.1/gems/jbuilder-2.7.0/lib/jbuilder/railtie.rb:13:in `block in <class:Railtie>' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/railties-5.2.0/lib/rails/initializable.rb:32:in `instance_exec' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/railties-5.2.0/lib/rails/initializable.rb:32:in `run' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/railties-5.2.0/lib/rails/initializable.rb:61:in `block in run_initializers' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `each' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `call' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/railties-5.2.0/lib/rails/initializable.rb:60:in `run_initializers' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/railties-5.2.0/lib/rails/application.rb:361:in `initialize!' from /home/ec2-user/environment/toy_app/config/environment.rb:5:in `<main>' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:19:in `require' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:19:in `block in require_with_bootsnap_lfi' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:18:in `require_with_bootsnap_lfi' from /usr/local/rvm/gems/ruby-2.4.1/gems/bootsnap-1.2.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:27:in `require' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency' from /usr/local/rvm/gems/ruby-2.4.1@global/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require' from /usr/local/rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/application.rb:102:in `preload' from /usr/local/rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve' from /usr/local/rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run' from /usr/local/rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop' from /usr/local/rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/application.rb:135:in `run' from /usr/local/rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' from -e:1:in `<main>'

該当のソースコード

一応、こちらのリポジトリにtoy_app以下をコピーしておきます。
https://github.com/kinaphar/rails-tutorial-pg-error-debug

試したこと

$ bundle exec gem uninstall gemname → 何も表示されず(エラーもログもなく)終わる。
この直後、
$ rails generate scaffold User name:string email:string
と打つと、上に書いたのと同じエラーが出る(もう一度 $ bundle install --without production してからやっても同じ)。

$ gem uninstall -I -a -x --user-install --force をすると色々アンインストールされていく様子がログに出る。
$ gem list を打つと、けっこう色々な「LOCAL GEMS」が残っている様子(先述のコマンドもう一度打っても「INFO: Uninstalled all gems in 」と出るのでOK?)。
$ bundle install --without production →成功した様子。
$ rails generate scaffold User name:string email:string
でまた同様のエラーが出る。

補足情報(FW/ツールのバージョンなど)

基本的に、Rails Tutorialに記された手順で、Amazon AWS - Cloud9 IDEで作業しています。railsのバージョンのみ、先述の理由で5.2.0で進めました。
Rails Tutorial 1章は、Gemfileの設定にやや詰まりましたが、そこを解決後、最終的に完走&herokuにデプロイできました。

まだまだ初心者なので、質問内容に不足している情報などあればご指摘下さい。
解決のヒントや、オススメの別の方法(Tutorialを読み進める方法)などあれば、ご教示お願いいたします。

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

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

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

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

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

guest

回答1

0

(5)でスキップしたhelloの追加と、ルートルーティングの設定を行った上でもう一度試してみるのはどうでしょうか。

あとRailsのバージョンについてはGemfileを
gem 'rails', '5.1.4'
と書き換えた上で
cd ~/environment/toy_app
で移動して
$ bundle update
$ rails -v
で修正されませんでしょうか。

投稿2018/07/04 22:03

troch

総合スコア349

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問