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

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

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

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

Ruby on Rails

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

Q&A

解決済

2回答

316閲覧

Ruby on Rails 学習者のものです。

y_aka

総合スコア11

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2018/08/12 01:12

###Mysqlがうまくインストールされません。

現在Ruby on Railsを勉強してるものです。
データベースを作成しようとすると下記エラーが出ています。

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

rails db:create

Could not find gem 'mysql2 (~> 0.5.2)' in any of the gem sources listed in your Gemfile. Run `bundle install` to install missing gems

試したこと

$ bundle install

エラー内容

An

1Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.

https://rubygems.org/より mysql2 -v '0.5.2' をinstall

gem 'mysql2', '~> 0.5.2' をgemfileへ記述

ターミナルにて実行
gem install mysql2 -v 0.5.2

Building

1ERROR: Error installing mysql2: 2 ERROR: Failed to build gem native extension. 3 4 current directory: /usr/local/rvm/gems/ruby-2.5.1/gems/mysql2-0.5.2/ext/mysql2 5/usr/local/rvm/rubies/ruby-2.5.1/bin/ruby -r ./siteconf20180812-6596-f6wjc9.rb extconf.rb 6checking for rb_absint_size()... yes 7checking for rb_absint_singlebit_p()... yes 8checking for rb_wait_for_single_fd()... yes 9----- 10Using mysql_config at /usr/bin/mysql_config 11----- 12checking for mysql.h... no 13checking for mysql/mysql.h... no 14----- 15mysql.h is missing. You may need to 'apt-get install libmysqlclient-dev' or 'yum install mysql-devel', and try again. 16----- 17*** extconf.rb failed *** 18Could not create Makefile due to some reason, probably lack of necessary 19libraries and/or headers. Check the mkmf.log file for more details. You may 20need configuration options. 21 22Provided configuration options: 23 --with-opt-dir 24 --without-opt-dir 25 --with-opt-include 26 --without-opt-include=${opt-dir}/include 27 --with-opt-lib 28 --without-opt-lib=${opt-dir}/lib 29 --with-make-prog 30 --without-make-prog 31 --srcdir=. 32 --curdir 33 --ruby=/usr/local/rvm/rubies/ruby-2.5.1/bin/$(RUBY_BASE_NAME) 34 --with-mysql-dir 35 --without-mysql-dir 36 --with-mysql-include 37 --without-mysql-include=${mysql-dir}/include 38 --with-mysql-lib 39 --without-mysql-lib=${mysql-dir}/lib 40 --with-mysql-config 41 --without-mysql-config 42 43To see why this extension failed to compile, please check the mkmf.log which can be found here: 44 45 /usr/local/rvm/gems/ruby-2.5.1/extensions/x86_64-linux/2.5.0/mysql2-0.5.2/mkmf.log 46 47extconf failed, exit code 1 48 49Gem files will remain installed in /usr/local/rvm/gems/ruby-2.5.1/gems/mysql2-0.5.2 for inspection. 50Results logged to /usr/local/rvm/gems/ruby-2.5.1/extensions/x86_64-linux/2.5.0/mysql2-0.5.2/gem_make.out

yum install mysql-devel を実行

Loaded

1You need to be root to perform this command.

とでます。
今ままでの実行内容が良かったのかわからず
ここからどのようにしたらよいかわからなくなり躓いています。
ご教示いただきたくお願いいたします。

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

windows 10 pro
IDE: cloud 9
ruby: 2.5.1p57
rails: 5.2.0
gem: 2.7.7

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

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

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

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

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

jun68ykt

2018/08/12 01:50

うまくいくか分からないので、こちらに書きます。「yum install mysql-devel を実行」で、「You need to be root to perform this command.」と出てしまったのでしたら、次を試してみるとよいかもしれません。sudo yum install mysql-devel つまり、「yum install mysql-devel」の先頭に sudo をつけて実行してみることです。パスワードを求めらるかもしれませんが、その際は、自身のパスワードを入力してください。
y_aka

2018/08/12 02:12 編集

コメントありがとうございます。上記を実行すると下記内容が表示されます。 ``` Loaded plugins: priorities, update-motd, upgrade-helper amzn-main | 2.1 kB 00:00:00 amzn-updates | 2.5 kB 00:00:00 1045 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package mysql-devel.noarch 0:5.5-1.6.amzn1 will be installed --> Processing Dependency: mysql55-devel >= 5.5 for package: mysql-devel-5.5-1.6.amzn1.noarch --> Running transaction check ---> Package mysql55-devel.x86_64 0:5.5.60-1.21.amzn1 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================= Installing: mysql-devel noarch 5.5-1.6.amzn1 amzn-main 2.7 k Installing for dependencies: mysql55-devel x86_64 5.5.60-1.21.amzn1 amzn-updates 201 k Transaction Summary ======================================================================================================================================================================= Install 1 Package (+1 Dependent package) Total download size: 204 k Installed size: 601 k Is this ok [y/d/N]: Exiting on user command Your transaction was saved, rerun it with: yum load-transaction /tmp/yum_save_tx.2018-08-12.02-05.d8X7ae.yumtx ```
y_aka

2018/08/12 02:14

PWを求められることは無かったのですでが次の実行コマンドがわかりません。
jun68ykt

2018/08/12 02:17

「sudo yum install mysql-devel」でエラーメッセージが表示されていないのでしたら、あらためて「bundle install」してみるとうまくいくかもしれません。
y_aka

2018/08/12 02:21 編集

実行しましたが同様のエラーが出てしまいます。 An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.
jun68ykt

2018/08/12 02:29

なるほどです。お手数ですが、こんどは「sudo yum install -y mysql-devel」 と、"install" と "mysql-devel" の間に "-y" を入れて、もう一度、mysql-devel のインストールを行い、その後、「bundle install」を実行してみてください。また次の投稿を参考にしてみてください。https://qiita.com/emahiro/items/1a63d676be9fc4975759 Railsでmysql2をインストールするときにハマったところ(emahiroさん@Qiita)
y_aka

2018/08/12 06:00 編集

コメント遅くなりました。上記実行したらbundle installできましたがDBを作成すると違うエラーが出ました。 rails aborted! NoMethodError: undefined method `halt_callback_chains_on_return_false=' for ActiveSupport:Module /home/ec2-user/environment/monolist/config/initializers/new_framework_defaults.rb:23:in `<top (required)>' /usr/local/rvm/gems/ruby-2.5.1/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:281:in `load' /usr/local/rvm/gems/ruby-2.5.1/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:281:in `block in load' /usr/local/rvm/gems/ruby-2.5.1/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:253:in `load_dependency' /usr/local/rvm/gems/ruby-2.5.1/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:281:in `load' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/engine.rb:657:in `block in load_config_initializer' /usr/local/rvm/gems/ruby-2.5.1/gems/activesupport-5.2.1/lib/active_support/notifications.rb:170:in `instrument' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/engine.rb:656:in `load_config_initializer' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/engine.rb:614:in `block (2 levels) in <class:Engine>' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/engine.rb:613:in `each' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/engine.rb:613:in `block in <class:Engine>' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/initializable.rb:32:in `instance_exec' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/initializable.rb:32:in `run' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/initializable.rb:61:in `block in run_initializers' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/initializable.rb:50:in `each' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/initializable.rb:50:in `tsort_each_child' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/initializable.rb:60:in `run_initializers' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/application.rb:361:in `initialize!' /home/ec2-user/environment/monolist/config/environment.rb:5:in `<top (required)>' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/application.rb:337:in `require' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/application.rb:337:in `require_environment!' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/application.rb:520:in `block in run_tasks_blocks' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/commands/rake/rake_command.rb:20:in `perform' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/command.rb:48:in `invoke' /usr/local/rvm/gems/ruby-2.5.1/gems/railties-5.2.1/lib/rails/commands.rb:18:in `<top (required)>' bin/rails:4:in `require' bin/rails:4:in `<main>' Tasks: TOP => db:create => db:load_config => environment (See full trace by running task with --trace)
jun68ykt

2018/08/12 06:28

前に進みましたね!新たなエラーの対策を回答のほうに書きました。
guest

回答2

0

まず、ログを良く読みましょう。

mysql.h is missing. You may need to 'apt-get install libmysqlclient-dev' or 'yum install mysql-devel', and try again.

mysqlがインストールされていないと言っています。
####RailsのgemはDBサーバーへの接続するgemをインストールしています。
####よって、DBそのものがインストールされていない場合、当然接続できません。
AWSでしたら、CentOS系ですので

yum install mysql-devel

を実行してまず、mysqlのインストールからですね。
あとはユーザー作って、権限与えて、DBを作っていくという手順になります。
Railsの方では
config>database.yml
ファイルに設定を記載していきます。
mysqlのインストールを調査したらよいかと思います。

投稿2018/08/12 09:35

happy_teeth

総合スコア42

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

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

y_aka

2018/08/12 14:05

上記エラー解決いたしました。 ログを今一度よく読んでみる癖をつけていきたいと思います。
guest

0

ベストアンサー

こんにちは。
質問への追記・修正欄からの続きになります。

rails aborted! NoMethodError: undefined method
'halt_callback_chains_on_return_false=' for ActiveSupport:Module

のエラー対策ですが、自分も同じようなエラーが出たことがあったので、記憶と検索からの情報をたよりに、「こうすれば解決するかもしれません」という情報をお伝えします。

以下のファイル

config/initializers/new_framework_defaults.rb

を開いて、

ActiveSupport.halt_callback_chains_on_return_false

で始まる行を探し、その行全体をコメントアウトして保存してから、エラーが起きてしまったコマンドを再度実行してみてください。
(コメントアウトするには行の先頭に # を追加します。)

また、このようなエラーが起こった場合、エラーメッセージの

undefined method 'halt_callback_chains_on_return_false=' for ActiveSupport:Module

を丸っとコピペしてGoogle検索してみてください。
同じようなエラーで困った人がどうやって解決したかの情報が出てきます。

teratail でも同じ問題にぶつかって質問された方がいらっしゃいました。

undefined method `halt_callback_chains_on_return_false=' for ActiveSupport:Module (NoMethodError)の解決 (jiyo-taさん@teratail)

以上参考になれば幸いです。

投稿2018/08/12 06:27

編集2018/08/12 07:06
jun68ykt

総合スコア9058

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

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

y_aka

2018/08/12 09:32

上記で解決することができました 簡単なエラーに対応していただきありがとうございます。 自分の力で解決できるよう努力していきますありがとうございました。
jun68ykt

2018/08/12 10:40

解決されたとのことで、よかったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問