我正在尝试在本地运行应用程序,但是当我这样做时,我会抛出此错误。
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.
当我运行'bundle install'时,我得到了这个:
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
此时我完全不知道如何解决这个问题。
答案 0 :(得分:6)
这是XCode 5.1的问题。试试以下内容:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GEMNAME
然后,您可以成功安装它。
答案 1 :(得分:3)
确保您拥有正确的ruby版本“ruby -v”,或者如果您使用的是rvm,请确保切换到正确的版本“rvm use 2.0”。否则,请提供有关当前ruby和rails版本的更多信息,是否使用rvm或系统ruby等
答案 2 :(得分:0)
Mavericks的默认ruby2.0标头不合适。尝试手动或通过像rbenv这样的版本管理器安装自己的ruby,然后尝试再次运行它。
您可以通过运行
进行检查which ruby
如果输出
/usr/bin/ruby
然后它可能正在使用系统ruby
答案 3 :(得分:0)
我知道这不漂亮。我知道它会变脏。我不喜欢下载我不会使用的宝石。但这对我有用。
我在2台不同的机器上遇到了同样的问题加上我自己的捆绑器尝试使用ruby 1.7.3(以及其他一些宝石)获得调试器1.6.0。它拒绝下载并手动获取它也不起作用。我通过尝试安装其他版本来查看是否存在版本问题,偶然发现了一次工作。最终工作(我不知道它为什么有效)是我运行“捆绑更新”,然后“git checkout。”恢复gemlock文件,然后运行“捆绑安装”。这对我来说每次都有效。
这是猜测,但我认为“捆绑安装”会对要下载的宝石列表进行排序,并在第一个抛出错误的站点停止,因此不会下载依赖项。运行“捆绑更新”时,它会通过列表并获取最新版本,因此如果抛出错误,则会报告错误。因此,如果gem中存在某种类型的循环依赖,则会修复它,因为它会获得依赖性或导致问题的可行版本。 我找不到证据证明这是可能的。