次の環境でテストをしています。
OS : Windows11
Ruby : 3.1.2
Rails : 7.0.2.4
MySql : 8.0.29
次の処理をしました。
-
RubyInstallersを使用して、Ruby(Ver3.1.2)のインストールを行う。
-
「gem install rails」コマンドで、Rails(Ver7.0.2.4)のインストールを行う。
-
「https://dev.mysql.com/downloads/installer/」にある、MySQL(Ve8.0.29)をダウンロードした後、
インストールを行う。
- 「gem install mysql2」コマンドで、MySQL(Gemパッケージ)のインストールを行うと、下記の通りエラーメッセージが表示されて、インストールができない。
C:\>gem install mysql2 Temporarily enhancing PATH for MSYS/MINGW... Using msys2 packages: mingw-w64-ucrt-x86_64-libmariadbclient Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. current directory: C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/mysql2-0.5.4/ext/mysql2 C:/Ruby31-x64/bin/ruby.exe -I C:/Ruby31-x64/lib/ruby/3.1.0 -r ./siteconf20220508-8380-ac6mj2.rb extconf.rb checking for rb_absint_size()... yes checking for rb_absint_singlebit_p()... yes checking for rb_wait_for_single_fd()... yes checking for rb_enc_interned_str() in ruby.h... yes *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=C:/Ruby31-x64/bin/$(RUBY_BASE_NAME) --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --with-mysql-config --without-mysql-config --with-mysqlclient-dir --without-mysqlclient-dir --with-mysqlclient-include --without-mysqlclient-include=${mysqlclient-dir}/include --with-mysqlclient-lib --without-mysqlclient-lib=${mysqlclient-dir}/lib --with-mysqlclientlib --without-mysqlclientlib C:/Ruby31-x64/lib/ruby/3.1.0/mkmf.rb:1086:in `block in find_library': undefined method `split' for nil:NilClass (NoMethodError) paths = paths.flat_map {|path| path.split(File::PATH_SEPARATOR)} ^^^^^^ from C:/Ruby31-x64/lib/ruby/3.1.0/mkmf.rb:1086:in `each' from C:/Ruby31-x64/lib/ruby/3.1.0/mkmf.rb:1086:in `flat_map' from C:/Ruby31-x64/lib/ruby/3.1.0/mkmf.rb:1086:in `find_library' from extconf.rb:103:in `<main>' To see why this extension failed to compile, please check the mkmf.log which can be found here: C:/Ruby31-x64/lib/ruby/gems/3.1.0/extensions/x64-mingw-ucrt/3.1.0/mysql2-0.5.4/mkmf.log extconf failed, exit code 1 Gem files will remain installed in C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/mysql2-0.5.4 for inspection. Results logged to C:/Ruby31-x64/lib/ruby/gems/3.1.0/extensions/x64-mingw-ucrt/3.1.0/mysql2-0.5.4/gem_make.out
私は、このようになる理由がわかりません。
どなたか、どのようにすれば、うまくいくのかを、ご教授お願いします。