7

我正在尝试在本地运行一个应用程序,但是当我这样做时,我得到了这个错误。

Patricks-MacBook-Air:niet pbj$ rails s
Could not find debugger-1.6.1 in any of the sources
Run `bundle install` to install missing gems.

当我运行“捆绑安装”时,我得到了这个:

Fetching source index from https://rubygems.org/
Enter your password to install the bundled RubyGems to your system: 
Using rake (10.1.0) 
Using i18n (0.6.5) 
Using minitest (4.7.5) 
Using multi_json (1.8.0) 
Using atomic (1.1.13) 
Using thread_safe (0.1.3) 
Using tzinfo (0.3.37) 
Using activesupport (4.0.0) 
Using builder (3.1.4) 
Using erubis (2.7.0) 
Using rack (1.5.2) 
Using rack-test (0.6.2) 
Using actionpack (4.0.0) 
Using mime-types (1.25) 
Using polyglot (0.3.3) 
Using treetop (1.4.15) 
Using mail (2.5.4) 
Using actionmailer (4.0.0) 
Using activemodel (4.0.0) 
Using activerecord-deprecated_finders (1.0.3) 
Using arel (4.0.0) 
Using activerecord (4.0.0) 
Using addressable (2.3.5) 
Using json (1.8.0) 
Using mini_portile (0.5.1) 
Using nokogiri (1.6.0) 
Using uuidtools (2.1.4) 
Using aws-sdk (1.11.1) 
Using bcrypt-ruby (3.1.1) 
Using coderay (1.0.9) 
Using better_errors (0.9.0) 
Using debug_inspector (0.0.2) 
Using binding_of_caller (0.7.2) 
Using sass (3.2.10) 
Using thor (0.18.1) 
Using bourbon (3.1.8) 
Using callsite (0.0.11) 
Using cancan (1.6.10) from https://github.com/ricec/cancan.git (at master) 
Using xpath (2.0.0) 
Using capybara (2.1.0) 
Using climate_control (0.0.3) 
Using cocaine (0.5.1) 
Using columnize (0.3.6) 
Using database_cleaner (1.1.1) 
Using debugger-linecache (1.2.0) 
Using debugger-ruby_core_source (1.2.3) 
Installing debugger (1.6.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
checking for rb_method_entry_t.called_id in method.h... yes
checking for vm_core.h... yes
checking for iseq.h... no
Makefile creation failed
*************************************************************

  NOTE: If your headers were not found, try passing
        --with-ruby-include=PATH_TO_HEADERS      

*************************************************************

*** 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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    --with-ruby-dir
    --without-ruby-dir
    --with-ruby-include
    --without-ruby-include=${ruby-dir}/include
    --with-ruby-lib
    --without-ruby-lib=${ruby-dir}/


Gem files will remain installed in /Users/pbj/.bundler/tmp/39109/gems/debugger-1.6.1 for inspection.
Results logged to /Users/pbj/.bundler/tmp/39109/gems/debugger-1.6.1/ext/ruby_debug/gem_make.out

An error occurred while installing debugger (1.6.1), and Bundler cannot
continue.
Make sure that `gem install debugger -v '1.6.1'` succeeds before bundling.

之后,我尝试安装调试器 gem 并收到此错误

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

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
checking for rb_method_entry_t.called_id in method.h... yes
checking for vm_core.h... yes
checking for iseq.h... no
Makefile creation failed
*************************************************************

  NOTE: If your headers were not found, try passing
        --with-ruby-include=PATH_TO_HEADERS      

*************************************************************

*** 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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    --with-ruby-dir
    --without-ruby-dir
    --with-ruby-include
    --without-ruby-include=${ruby-dir}/include
    --with-ruby-lib
    --without-ruby-lib=${ruby-dir}/


Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/debugger-1.6.2 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/debugger-1.6.2/ext/ruby_debug/gem_make.out

在这一点上,我完全不知道如何解决这个问题。

4

4 回答 4

6

这是 XCode 5.1 的问题。只需尝试以下操作:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GEMNAME

然后,您可以成功安装它。

于 2014-03-20T06:58:36.383 回答
3

确保您拥有正确的 ruby​​ 版本“ruby -v”,或者如果您使用的是 rvm,请确保切换到正确的版本“rvm use 2.0”。否则,请提供有关您当前 ruby​​ 和 rails 版本的更多信息,以及您使用的是 rvm 还是系统 ruby​​ 等

于 2013-11-04T20:21:22.023 回答
0

Mavericks 的默认 ruby​​2.0 标头不合适。尝试手动或通过 rbenv 之类的版本管理器安装您自己的 ruby​​,然后再次尝试运行它。


您可以通过运行检查

which ruby

如果输出是

/usr/bin/ruby

那么它可能正在使用系统红宝石

于 2013-12-12T04:25:35.787 回答
0

I know this is not pretty. I know it will feel dirty. I don't like downloading gems I'm not going to use. But this worked for me.

I have experienced the same problem on 2 different machines plus my own with bundler trying to get debugger 1.6.0 with ruby 1.7.3 (and a few other gems). It refused to download and getting it manually did not work either. I stumbled on a work-a-round by trying to install other versions to see if it was a problem with the version. What ended up working (and I do not know why it works) is that I ran “bundle update”, then “git checkout .” to revert the gemlock file, then run “bundle install”. This has worked every time for me.

This is a guess but I think “bundle install” sorts the list of gems to download and stops at the first one that throws an error so following dependencies do not download. When running “bundle update” it goes through the list and gets latest version so if an error is thrown then it reports the error. So if there is some type circular dependency in the gem this would fix it because would get the dependency or a workable version that was causing the problem. I can not find proof that this is even possible.

Similar issue: bundle install circular dependencies

于 2014-09-24T16:00:53.177 回答