安装Ruby gem时的开发人员工具问题 [英] Developer tools issues when installing Ruby gems

查看:140
本文介绍了安装Ruby gem时的开发人员工具问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的MacOS 10.13.6上安装puma.要安装puma,我运行命令gem install puma,但它返回了

I am trying to install puma onto my MacOS 10.13.6. To install puma, I run the command gem install puma but it returned

Building native extensions. This could take a while...
    ERROR:  Error installing puma:
        ERROR: Failed to build gem native extension.

   current directory: /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/puma-3.12.0/ext/puma_http11
    /Users/salem/.rbenv/versions/2.5.1/bin/ruby -r ./siteconf20180801-14654-17z0n88.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=/Users/salem/.rbenv/versions/2.5.1/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
        --with-openssl-include
        --without-openssl-include=${openssl-dir}/include
        --with-openssl-lib
        --without-openssl-lib=${openssl-dir}/lib
        --with-cryptolib
        --without-cryptolib
    /Users/salem/.rbenv/versions/2.5.1/lib/ruby/2.5.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
    You have to install development tools first.
        from 


    ...
    ...
    To see why this extension failed to compile, please check the mkmf.log which can be found here:

      /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/puma-3.12.0/mkmf.log

    extconf failed, exit code 1

Gem files will remain installed in /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/puma-3.12.0 for inspection.
Results logged to /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/puma-3.12.0/gem_make.out`

_mkmf.log_可以在下面找到...

The _mkmf.log_ can be found below...

clang -o conftest -I/Users/salem/.rbenv/versions/2.5.1/include/ruby-2.5.0/x86_64-darwin17 -I/Users/salem/.rbenv/versions/2.5.1/include/ruby-2.5.0/ruby/backward -I/Users/salem/.rbenv/versions/2.5.1/include/ruby-2.5.0 -I. -I/usr/local/opt/openssl/include -I/Users/salem/.rbenv/versions/2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe conftest.c  -L. -L/Users/salem/.rbenv/versions/2.5.1/lib -L/usr/local/opt/openssl/lib -L. -L/Users/salem/.rbenv/versions/2.5.1/lib  -fstack-protector -L/usr/local/lib     -lruby.2.5.1-static -framework Foundation  -lpthread -ldl -lobjc "
error: unable to open output file '~/tmp/conftest-8ad96a.o': 'No such file or directory'
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

Xcode已安装在我的Mac上.我运行了xcode-select --install,它确认Xcode已经安装.

Xcode is installed on my Mac. I ran xcode-select --install which confirmed that Xcode was already installed.

然后我认为这可能是权限问题...

I then thought it could be a permissions issue...

~ $ ls -lah tmp
total 0
drwxrwxrwx   3 salem  staff    96B Jul 30 08:35 .
drwxr-xr-x+ 62 salem  staff   1.9K Aug  1 13:17 ..
drwxr-xr-x   3 salem  staff    96B Jul 27 15:11 vmSWVyg

,但似乎设置了正确的权限.

but it appears that it has the correct permissions set.

在安装nokugiri时也会出现此问题

This issue also arises when installing nokugiri

推荐答案

您可能要安装openssl,例如通过自制程序:

You might want to install openssl, e.g. via homebrew:

brew install openssl

github 上也讨论了类似的问题.

A similar issue was also discussed on github.

如果是nokogiri,则可能缺少libxml:

In case of nokogiri, libxml might be missing:

brew install libxml2

这篇关于安装Ruby gem时的开发人员工具问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆