Rails環境構築でハマったのでメモ。
実行環境
- Vagrant 1.8.1
- CentOS 7.1
- Ruby 2.5.0
- Rails 5.2.1
以下の記事を参考に、Railsプロジェクト作成後にMySQLを入れる。
RailsのDBを(初めから| |後から)MySQLに変更する
・Gemfile
Gemfileに以下を追記
1 | gem 'mysql2' |
・/config/database.yml
developmentの箇所を以下に修正
1 2 3 4 5 6 7 8 | development: adapter: mysql2 encoding: utf8 database: rails_tutorial pool: 5 username: root password: host: localhost |
bundle installでmysql2インストール時にエラー
バンドラーインストール実行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | $ bundle install --without production … --without-mysql-lib=${mysql-dir}/lib --with-mysqlclientlib --without-mysqlclientlib To see why this extension failed to compile, please check the mkmf.log which can be found here: /usr/local/rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-linux/2.5. 0-static/mysql2-0.5.2/mkmf.log extconf failed, exit code 1 Gem files will remain installed in /usr/local/rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2 for inspection. Results logged to /usr/local/rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-linux/2.5. 0-static/mysql2-0.5.2/gem_make.out 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. In Gemfile: mysql2 |
するも、エラー。言われたとおりに「gem install mysql2 -v ‘0.5.2’」をインストールしてみるもダメみたい。
1 2 3 4 5 | $ gem install mysql2 -v '0.5.2' Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. |
bundle installでmysql2インストール時にエラーした時の対処法
mysql-develをインストールしてみましょう。
1 2 3 4 5 6 7 8 9 | $ sudo yum install mysql-devel Installed: mariadb-devel.x86_64 1:5.5.60-1.el7_5 Dependency Updated: mariadb-libs.x86_64 1:5.5.60-1.el7_5 Complete! |
mysql-develインストール後、再度トライしたらいけました。
1 | $ bundle install --without production |