RubyとRailsをインストール後、gem puma -v '3.11.3'のインストール方法 (2)
「RubyとRailsをインストール後、gem puma -v '3.11.3'のインストール方法」の続きです。お世話になります。(環境はWindows10 Homeです)
gem puma -v '3.11.3'
をインストール後、エラーが出るので mkmf.log (C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/puma-3.11.3/mkmf.log
)を見ると、次の file or directoryが無いとの事でした。
[C:/Ruby] [installation] [related] [file] [NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o]
どうしたらいいでしょうか?
以下は、mkmfの内容です。
"x86_64-w64-mingw32-gcc -o conftest.exe -IC:/Ruby25-x64/include/ruby-2.5.0/x64-mingw32 -IC:/Ruby25-x64/include/ruby-2.5.0/ruby/backward -IC:/Ruby25-x64/include/ruby-2.5.0 -I. -D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe conftest.c -L. -LC:/Ruby25-x64/lib -L. -pipe -lx64-msvcrt-ruby250 -lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:/Ruby: No such file or directory
C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find installation: No such file or directory
C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find related: No such file or directory
C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find file: No such file or directory
C:/Ruby installation related file NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find NF/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o: No such file or directory
collect2.exe: error: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7: return 0;
8: }
/* end */
以下は、gem puma -v '3.11.3'
をインストール後に出る内容です。
Temporarily enhancing PATH for MSYS/MINGW...
Installing required msys2 packages: mingw-w64-x86_64-openssl
警告: mingw-w64-x86_64-openssl-1.0.2.o-1 は最新です -- スキップ
Building native extensions. This could take a while...
ERROR: Error installing puma:
ERROR: Failed to build gem native extension.
current directory: C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/puma-3.11.3/ext/puma_http11
C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20180402-14912-da1q9t.rb extconf.rb
checking for BIO_read() in -lcrypto... *** 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:/Ruby25-x64/bin/$(RUBY_BASE_NAME)
--with-puma_http11-dir
--without-puma_http11-dir
--with-puma_http11-include
--without-puma_http11-include=${puma_http11-dir}/include
--with-puma_http11-lib
--without-puma_http11-lib=${puma_http11-dir}/lib
--with-openssl-dir
--without-openssl-dir
--with-openssl-include
--without-openssl-include=${openssl-dir}/include
--with-openssl-lib
--without-openssl-lib=${openssl-dir}/lib
--with-cryptolib
--without-cryptolib
To see why this extension failed to compile, please check the mkmf.log which can be found here:
C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/puma-3.11.3/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/puma-3.11.3 for inspection.
Results logged to C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/puma-3.11.3/gem_make.out
質問の補足です。お世話になります。
C:/Ruby installation related file NF は存在し、 mingw関連のフォルダやファイルも入っています。
・mingw関連フォルダは2つです。
[mingw32] フォルダの中には、[bin] [etc] [include] [lib] [share] 。
[mingw64] フォルダの中には、[bin] [etc] [include] [lib] [libexec] [share] [ssl] [x86_64-w64-mingw32]。
・mingw関連ファイルは4つです。
[mingw32.exe] [mingw32.ini] [mingw64.exe] [mingw64.ini] )
・C:/Ruby installation related file NF/mingw64//lib/gcc/x86_64-w64-mingw32/7.3.0、も存在します。
2016年ごろ、Rubyをインストールしようとしてできなかった事があります。
また先月末、インストール失敗時には、Rubyをアンイストールしています。
(最初は [ruby -v] [rails -v] でバージョン確認可能でしたが、[rails s] でエラー後、いろいろ試しているうちに、[ruby -v] [rails -v] でバージョン確認できなくなったためです)
質問の補足です。お世話になります。
RubyInstaller時代のDevelopment Kit (DevKit)に相当するものが、MSYS2というパッケージとのことで、[C:/Ruby installation related file NF] フォルダの中に、msys2 関係のファイルが4つあります。
[msys2.exe] [msys2.ico] [msys2.ini] [msys2_shell.cmd]
(Rubyインストール時の、「MSYS2インストール」では、「If unsure press ENTER [1, 2. 3]」の所で、よくわからなかったので 「(数字は入力せずに) Enterを押しただけ」にしてしまいました。
Rubyの種類です。
ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x64-mingw32]
rails -v
Rails 5.1.6
大体こちらのサイトを参考にインストールしています。 https://qiita.com/ibarakids/items/ad04ba4ae80f2f144d9c
(Rubyインストール時の、「MSYS2インストール」では、「If unsure press ENTER [1, 2. 3]」の所で、よくわからなかったので 「(数字は入力せずに) Enterを押しただけ」にしてしまいました。)
[1, 2, 3] とは、 [ 1- MSYS2 base installation] [ 2- MSYS2 system update] [ 3- MSYS2 and MINGW development toolchain ] です。
質問の補足です。 お世話になります。
C:/Ruby installation related file NF → C:/Ruby-installation-related-file-NFに変更することにより、このファイル名に関するエラー記述はmkmf.log からなくなりましたが、puma (3.11.3) のエラーが出るので、Rubyのアンインストールと、フォルダの削除 (Ruby25-x64 と Ruby-installation-related-file-NF) をして、Rubyをインストールしなおしました。
(3月末にRubyのインストール失敗後アンインストールした時も、C:/Ruby installation related file NFフォルダは残ったままでした。質問頂いて初めて気づきました。ありがとうございます。)
[>rails new ‐‐] で今度は次のエラーが出ます。
「C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb:3908:in `codepoints': invalid byte sequence in Windows-31J (ArgumentError)」
「C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb」をクリックすると、コマンドスクリーンが一瞬現れてすぐ消えます。
今回はpuma (3.11.3) はOKのようで、この質問の続きではなく新たに質問を投稿します。
(PS 今回、前回のインストールで msys2はちゃんとインストールされていなかったことが分かりました。指摘頂きありがとうございます。)