🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
MySQL

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

Ruby on Rails

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

Q&A

解決済

1回答

3783閲覧

【Ruby on Rails】mysql2がbundle installできません。。。

lef

総合スコア12

MySQL

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

Ruby on Rails

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

0グッド

1クリップ

投稿2019/09/15 05:52

他の開発者が作ったrailsファイルのブランチで開発をしようと思っています。
開発環境を合わせるため、bundle installをした上でrails sを行ったら、下記のようなエラーが発生しました。

tarminal

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

bundle installの結果を確認してみると、以下の2箇所にエラーが表示されていました。

tarminal

1Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 2345An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue. 6Make sure that `gem install mysql2 -v '0.5.2' --source 'http://rubygems.org/'` succeeds before bundling.

その後、言われた通り、gem install mysql2 -v '0.5.2'をしたのですが、もう一度bundle installしても同じエラーが発生してします。

また、gemfileには下記のように記載してあります。

Gemfile

1gem 'mysql2', '>= 0.4.4'

gemfileの記載が0.4.4なのがいけないのかと思い、0.5.2に書き換えて行っても結果は変わりませんでした。

ちなみに、database.ymlは下記のようになっており、複数のデータベースを参照しています。

### database.yml # MySQL. Versions 5.5.8 and up are supported. # # Install the MySQL driver # gem install mysql2 # # Ensure the MySQL gem is defined in your Gemfile # gem 'mysql2' # # And be sure to use new-style password hashing: # https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html # default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: socket: /tmp/mysql.sock development: <<: *default database: Database_Name_development # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: Database_Name_test reference1_db: adapter: mysql2 encoding: utf8 reconnect: false pool: 5 username: <%= ENV['REFERENCE1_DB_USER'] %> password: <%= ENV['REFERENCE1_DB_PASS'] %> socket: /tmp/mysql.sock host: <%= ENV['REFERENCE1_DB_HOST'] %> database: <%= ENV['REFERENCE1_DB_NAME'] %> reference2_db: adapter: mysql2 encoding: utf8 reconnect: false pool: 5 username: <%= ENV['REFERENCE2_DB_USER'] %> password: <%= ENV['REFERENCE2_DB_PASS'] %> socket: /tmp/mysql.sock host: <%= ENV['REFERENCE2_DB_HOST'] %> database: <%= ENV['REFERENCE2_DB_NAME'] %> # As with config/credentials.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is # ever seen by anyone, they now have access to your database. # # Instead, provide the password as a unix environment variable when you boot # the app. Read https://guides.rubyonrails.org/configuring.html#configuring-a-database # for a full rundown on how to provide these environment variables in a # production deployment. # # On Heroku and other platform providers, you may have a full connection URL # available as an environment variable. For example: # # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" # # You can use this database configuration with: # # production: # url: <%= ENV['DATABASE_URL'] %> # production: <<: *default database: Database_Name_production username: Database_Name password: <%= ENV['DATABASE_NANE_DATABASE_PASSWORD'] %>

どのようにすれば、mysql2をbundle installでき、rails sが実行できるかご教示いただけると幸いです。
よろしくお願いいたします。

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

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

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

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

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

otn

2019/09/15 06:15

> 言われた通り、gem install mysql2 -v '0.5.2'をしたのですが、 成功したということですか??
maisumakun

2019/09/15 06:51

OS環境は何でしょうか?、
lef

2019/09/15 07:08

>otnさん gem install mysql2 -v '0.5.2'は成功しております。 >maisumakunさん Mac OSで開発しております。
otn

2019/09/15 07:56

どう見ても失敗していますが?? Results logged to /Users/lef/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/mysql2-0.5.2/gem_make.out を見ましょう。
lef

2019/09/15 09:34

大変失礼いたしました... なんとか問題解決できました!
guest

回答1

0

自己解決

以下のコマンドを実行した後にgem install mysql2 -v '0.5.2'で出来ました。

tarmial

1$ gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib

以下のページを参考にしました。
mysql2 gemインストール時のトラブルシュート

投稿2019/09/16 03:01

lef

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問