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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

2回答

3230閲覧

EC2でmysql2をbundle installできない

tsuyoshi0126

総合スコア24

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2020/03/11 00:40

編集2020/03/12 00:11

###やりたいこと
下記サイトを見ながら、EC2でrailsアプリを起動しようとしています。
(デプロイ編②)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで

その中でアプリケーションのDBがMySQLという前提で記述されていたため、EC2の中でrailsのDBをsqlite3からMySQLに変更しようと試みました。

###やったこと
まず下記サイトを参照してEC2でMySQL5.7の設定を行いました。
AWSのEC2で行うAmazon Linux2(MySQL5.7)環境構築

次に【Rails入門】mysqlとの接続方法まとめでDBをsqlite3からMySQLに変更するにはgem 'mysql2'が必要と書いてあったので
gemファイルに

gem 'mysql2', '~> 0.5.3'

を追加後にbundle installをするとエラーが発生してしまいます。

###エラーメッセージ

Gem::Ext::BuildError:

1 2current directory: 3/home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3/ext/mysql2 4/home/tsuyoshi/.rbenv/versions/2.6.1/bin/ruby -I 5/home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0 -r 6./siteconf20200311-29416-xnyz7n.rb extconf.rb 7--with-cppflags\=-I/home/linuxbrew/.linuxbrew/opt/openssl@1.1/include 8checking for rb_absint_size()... *** extconf.rb failed *** 9Could not create Makefile due to some reason, probably lack of necessary 10libraries and/or headers. Check the mkmf.log file for more details. You may 11need configuration options. 12 13Provided configuration options: 14 --with-opt-dir 15 --without-opt-dir 16 --with-opt-include 17 --without-opt-include=${opt-dir}/include 18 --with-opt-lib 19 --without-opt-lib=${opt-dir}/lib 20 --with-make-prog 21 --without-make-prog 22 --srcdir=. 23 --curdir 24 --ruby=/home/tsuyoshi/.rbenv/versions/2.6.1/bin/$(RUBY_BASE_NAME) 25/home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The 26compiler failed to generate an executable file. (RuntimeError) 27You have to install development tools first. 28from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:552:in 29`try_link0' 30from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:570:in 31`try_link' 32from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:782:in 33`try_func' 34from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:1069:in `block 35in have_func' 36from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:959:in `block 37in checking_for' 38from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:361:in `block 39(2 levels) in postpone' 40 from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:331:in `open' 41from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:361:in `block 42in postpone' 43 from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:331:in `open' 44from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:357:in 45`postpone' 46from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:958:in 47`checking_for' 48from /home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/2.6.0/mkmf.rb:1068:in 49`have_func' 50 from extconf.rb:25:in `<main>' 51 52To see why this extension failed to compile, please check the mkmf.log which can 53be found here: 54 55/home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0/mysql2-0.5.3/mkmf.log 56 57extconf failed, exit code 1 58 59Gem files will remain installed in 60/home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3 for 61inspection. 62Results logged to 63/home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0/mysql2-0.5.3/gem_make.out 64 65An error occurred while installing mysql2 (0.5.3), and Bundler cannot 66continue. 67Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` 68succeeds before bundling.

###/home/tsuyoshi/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0/mysql2-0.5.3/mkmf.logの中身

gcc: error: unrecognized command line option '-Wduplicated-cond' gcc: error: unrecognized command line option '-Wmisleading-indentation' gcc: error: unrecognized command line option '-Wrestrict' gcc: error: unrecognized command line option '-Wimplicit-fallthrough=0'

###その後試したこと
下記サイトを参照していろいろ試したのですがうまくいきませんでした。
ご教授お願いいたします。

参照サイト
An error occurred while installing mysql2 (0.4.10)

ruby-filemagic -v 0.6.1 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. の解決方法

【Rails】MySQL2がbundle installできない時の対応方法

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

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

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

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

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

guest

回答2

0

自己解決

EC2でgccのバージョンを変更したい
を解決すると直りました。

$ ln /home/linuxbrew/.linuxbrew/bin/gcc-7 /home/linuxbrew/.linuxbrew/bin/gcc

を実行すると

gcc version 7.5.0 (Homebrew GCC 7.5.0_1)

になり

bundle install
すると無事MySqlがインストールできました。

投稿2020/03/19 07:28

tsuyoshi0126

総合スコア24

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

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

0

エラーログの途中に

You have to install development tools first.

とあります。これはmysql2 gemを生成するための開発ツールがないというメッセージです。

おそらくAmazon Linux2をお使いでしょうから、

bash

1sudo yum groupinstall 'Development Tools'

コマンドを実行し、開発ツール一式をインストールしてから再度実行すると、成功するかと思います。

投稿2020/03/18 07:24

lighthawk

総合スコア44

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

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

tsuyoshi0126

2020/03/19 07:29

回答ありがとうございます。 無事解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問