安装puma(2.11.1)时发生错误,Bundler无法继续

时间:2016-11-14 16:36:04

标签: ruby-on-rails macos bundler

运行bundle install --path vendor后,它显示以下错误。我正在使用macOS Sierra。更新自制程序后发生此问题。我从我的宝石列表中卸载了当前安装的puma。但是这里也出现了同样的问题。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /Users/tanvirhasan/.rbenv/versions/2.2.0/bin/ruby -r ./siteconf20161114-22170-lrj70g.rb extconf.rb
checking for BIO_read() in -lcrypto... yes
checking for SSL_CTX_new() in -lssl... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling http11_parser.c
compiling io_buffer.c
io_buffer.c:119:10: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
  return rb_str_new(b->top, b->cur - b->top);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:796:20: note: expanded from macro 'rb_str_new'
        rb_str_new_static((str), (len)) : \
                          ^~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:727:37: note: passing argument to parameter here
VALUE rb_str_new_static(const char *, long);
                                    ^
io_buffer.c:119:10: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
  return rb_str_new(b->top, b->cur - b->top);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:797:13: note: expanded from macro 'rb_str_new'
        rb_str_new((str), (len));         \
                   ^~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:706:29: note: passing argument to parameter here
VALUE rb_str_new(const char*, long);
                            ^
2 warnings generated.
compiling mini_ssl.c
In file included from mini_ssl.c:3:
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/backward/rubyio.h:2:2: warning: use "ruby/io.h" instead of "rubyio.h" [-W#warnings]
#warning use "ruby/io.h" instead of "rubyio.h"
 ^
mini_ssl.c:4:10: fatal error: 'openssl/bio.h' file not found
#include <openssl/bio.h>
         ^
1 warning and 1 error generated.
make: *** [mini_ssl.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/tanvirhasan/Git/Nascenia/cribber-web/vendor/ruby/2.2.0/gems/puma-2.11.1 for inspection.
Results logged to /Users/tanvirhasan/Git/Nascenia/cribber-web/vendor/ruby/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/puma-2.11.1/gem_make.out

1 个答案:

答案 0 :(得分:2)

您更新了自制程序,但您可能没有更新XCode。拉起终端实例并运行:

brew doctor

Homebrew可能会警告你一个或多个需要更新的库,包括XCode。

执行命令

xcode-select --install

通过运行以下命令确保您接受新版XCode的许可证:

sudo xcodebuild -license