问题
Tried installing Puma on Windows and getting this error -
Temporarily enhancing PATH to include DevKit...
Building native extensions with: '--with-opt-dir=c:\openssl'
This could take a while...
ERROR: Error installing puma:
ERROR: Failed to build gem native extension.
C:/RailsInstaller/Ruby2.1.0/bin/ruby.exe extconf.rb --with-opt-dir=c:\openssl
checking for BIO_read() in -lcrypto... no
checking for BIO_read() in -llibeay32... no
*** 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
--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:/RailsInstaller/Ruby2.1.0/bin/ruby
--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-cryptolib
--without-cryptolib
--with-libeay32lib
--without-libeay32lib
extconf failed, exit code 1
Gem files will remain installed in C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1
.0/gems/puma-2.11.2 for inspection.
Results logged to C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/extensions/x86
-mingw32/2.1.0/puma-2.11.2/gem_make.out
Tried several solutions to try and fix the problem, but they all somehow end up with this error.
I have Openssl installed on my computer and have used it to do some SSL certificate stuff, so I'm definitely sure it's installed properly.
Anyone able to help?
回答1:
To give you a summary of things you need to do:
Download OpenSSL package for x64-windows (since you're using x64 version of Ruby): http://packages.openknapsack.org/openssl/openssl-1.0.0k-x64-windows.tar.lzma Extract the package, as indicated in several RubyInstaller posts Proceed again with gem installation and point to the directory where you extracted OpenSSL
The commands will be something like this:
C:\>mkdir C:\MyDir\x64-windows
C:\>cd C:\MyDir\x64-windows
C:\MyDir\x64-windows>bsdtar --lzma -xf openssl-1.0.0k-x64-windows.tar.lzma
C:\>gem install puma --platform=ruby -- --with-opt-dir=C:/MyDir/x64-windows
回答2:
This worked for me (with x86 version), following these steps: 1.To install OpenSSL, I went here: https://www.tbs-certificates.co.uk/FAQ/en/openssl-windows.html. 2. Running windows cmd as administrator, I created the directory C:/OpenSSL-Win32. 3. Following the instructions from step 1, I went to https://www.openssl.org/source/ and downloaded the opensslpackage for x86 (openssl-1.0.1p-tar-gz) and extracted it via 7-Zip to C:/OpenSSL-Win32 4. Still as admin, ran C:>gem install puma --platform=ruby -- --with-opt-dir=C:/OpenSSL-Win32. Note: I was following the Hartl tutorial, and had specified gem 'puma', '2.11.1'. However, this method resulted in '2.14.0' being installed.
@Rajarshi Das, thanks!
来源:https://stackoverflow.com/questions/30204784/installing-puma-on-windows-error