无法在ruby 2.1.2下安装ruby-debug-ide gem

时间:2014-08-04 15:19:31

标签: ruby gem

我正在尝试在ruby 2.1.2下安装ruby-debug-ide gem。这要在Rubymine中调试。

它适用于ruby1.9.3但不适用于此版本。 这是错误:

1.3.5/lib/debugger/ruby_core_source/ruby-2.1.2-p95/***internal.h:209: error: expected ‘;’, ‘,’ or ‘)’ before ‘x’***

这是输出。

我希望能够以某种方式进行观察或调试。顺便说一下,快速解决方案也很棒: - )

Fetching: ruby-debug-ide-0.4.22.gem (100%)
    Building native extensions.  This could take a while...
    ERROR:  Error installing ruby-debug-ide:
        ERROR: Failed to build gem native extension.

        /Users/ohad/.rvm/rubies/ruby-2.1.2/bin/ruby mkrf_conf.rb
    Installing base gem
    Building native extensions.  This could take a while...
    Building native extensions.  This could take a while...
    ERROR: Failed to build gem native extension.

        /Users/ohad/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb
    checking for vm_core.h... no
    checking for vm_core.h... no
    checking for vm_core.h... yes
    creating Makefile

    make "DESTDIR=" clean

    make "DESTDIR="
    compiling breakpoint.c
    compiling context.c
    compiling debase_internals.c
    In file included from /Users/ohad/.rvm/gems/ruby-2.1.2@v1_v2/gems/debugger-ruby_core_source-1.3.5/lib/debugger/ruby_core_source/ruby-2.1.2-p95/method.h:14,
                     from /Users/ohad/.rvm/gems/ruby-2.1.2@v1_v2/gems/debugger-ruby_core_source-1.3.5/lib/debugger/ruby_core_source/ruby-2.1.2-p95/vm_core.h:24,
                     from ./hacks.h:1,
                     from debase_internals.c:2:
    /Users/ohad/.rvm/gems/ruby-2.1.2@v1_v2/gems/debugger-ruby_core_source-1.3.5/lib/debugger/ruby_core_source/ruby-2.1.2-p95/***internal.h:209: error: expected ‘;’, ‘,’ or ‘)’ before ‘x’***
    make: *** [debase_internals.o] Error 1

    make failed, exit code 2

    Gem files will remain installed in /Users/ohad/.rvm/gems/ruby-2.1.2@v1_v2/gems/debase-0.0.9 for inspection.
    Results logged to /Users/ohad/.rvm/gems/ruby-2.1.2@v1_v2/extensions/x86_64-darwin-13/2.1.0-static/debase-0.0.9/gem_make.out
    /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:89:in `run'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:51:in `block in make'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:43:in `each'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:43:in `make'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/ext_conf_builder.rb:47:in `block in build'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tempfile.rb:324:in `open'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/ext_conf_builder.rb:17:in `build'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:161:in `block (2 levels) in build_extension'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:160:in `chdir'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:160:in `block in build_extension'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:159:in `synchronize'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:159:in `build_extension'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:198:in `block in build_extensions'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:195:in `each'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:195:in `build_extensions'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/installer.rb:677:in `build_extensions'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/installer.rb:232:in `install'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/request_set.rb:142:in `block in install'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/request_set.rb:126:in `each'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/request_set.rb:126:in `install'
      /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/dependency_installer.rb:389:in `install'
      mkrf_conf.rb:34:in `rescue in <main>'
      mkrf_conf.rb:27:in `<main>'

    rake failed, exit code 1

    Gem files will remain installed in /Users/ohad/.rvm/gems/ruby-2.1.2@v1_v2/gems/ruby-debug-ide-0.4.22 for inspection.
    Results logged to /Users/ohad/.rvm/gems/ruby-2.1.2@v1_v2/extensions/x86_64-darwin-13/2.1.0-static/ruby-debug-ide-0.4.22/gem_make.out

另外,我无法使用ruby rvm reinstall ruby-2.1.2 --disable-binary安装此错误

`dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.1i/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/openssl/bin/openssl
  Reason: image not found
Failed reading certificates path for '/usr/local/opt/openssl/bin/openssl' with return code: ().
RVM autolibs is now configured with mode '2' => 'check and stop if missing',
please run `rvm autolibs enable` to let RVM do its job or run and read `rvm autolibs [help]`
or visit https://rvm,, for more information.
Requirements installation failed with status: 133.`

3 个答案:

答案 0 :(得分:3)

问题似乎是gem debugger-ruby_core_source找不到头文件vm_core.h,这是Ruby源代码的一部分。要仅安装源(假设您已经安装了二进制文件),请执行以下操作:

$ rvm fetch ruby-2.1.2

你也可以从源码重新安装(有点慢,但这是一个好习惯):

$ rvm reinstall ruby-2.1.2 --disable-binary

根据您的其他错误消息进行更新

根据您的消息,您需要安装OpenSSL:

$ brew install openssl

总结一下:

  1. 您无法安装debugger-ruby_core_source,因为它需要 Ruby版本的Ruby源代码。
  2. 您无法安装Ruby源代码 使用RVM的代码,因为缺少Open SSL库。
  3. 要修复该类型rvm autolibs homebrew,以便RVM在需要时安装缺少的软件包(您可能需要root权限并在请求时输入密码)。这也让RVM从现在开始处理依赖问题,你不需要再次输入命令。

答案 1 :(得分:1)

我遇到了类似的问题,并在安装debugger-ruby_core_source之前手动安装了ruby-debug-ide gem。

答案 2 :(得分:0)

今天我遇到了这种情况,并在运行brew unlink openssl && brew link openssl --force

后解决了这个问题

希望它有所帮助。