我正在尝试在Windows机器上安装puma gem。我收到以下错误。经过几个论坛但是徒劳无功。
C:/railsInstaller/Ruby2.0.0/bin/ruby.exe extconf.rb
creating Makefile
make
generating puma_http11-i386-mingw32.def
compiling http11_parser.c
ext/http11/http11_parser.rl: In function 'puma_parser_execute':
ext/http11/http11_parser.rl:111:3: warning: comparison between signed and unsigned integer expressions
compiling io_buffer.c
io_buffer.c: In function 'buf_to_str':
io_buffer.c:119:3: warning: pointer targets in passing argument 1 of 'rb_str_new' differ in signedness
c:/RailsInstaller/Ruby2.0.0/include/ruby-2.0.0/ruby/intern.h:668:7: note: expected 'const char *' but argument is of type 'uint8_t *'
compiling mini_ssl.c
In file included from mini_ssl.c:3:0:
c:/RailsInstaller/Ruby2.0.0/include/ruby-2.0.0/ruby/backward/rubyio.h:2:2: warning: #warning use "ruby/io.h" instead of "rubyio.h"
mini_ssl.c:4:25: fatal error: openssl/bio.h: No such file or directory
compilation terminated.
make: *** [mini_ssl.o] Error 1
我已尝试安装https://github.com/puma/puma/issues/202中提到的openSSL Headers包和库,这些链接无法正常工作。
答案 0 :(得分:7)
我在bundle update
之前运行bundle install
,这解决了我的问题。
我不确定这是否是唯一有帮助的,因为我在此之前手动更新了puma,使用以下步骤:
ruby -v -ropenssl -e "puts OpenSSL::OPENSSL_VERSION"
gem install puma -- --with-opt-dir=C:/RailsInstaller/openssl