没有ruby-2.0.0-p451的源代码,它提供了debugger-ruby_core_source gem
我在其他SO问题中看到了非常类似的问题(例如,ruby-1.9.2-p321没有提供debugger-ruby_core_source gem的来源 )以及Google搜索,但到目前为止这些都没有帮助。
我正在使用OSX Mavericks(第一次使用mac用户)和rbenv(第一次使用它)。 我已经克隆了一个Rails项目,我以前在另一台笔记本电脑(Ubuntu和rvm)上运行。
rbenv version
:2.0.0-p451(我手动安装)
当我尝试bundle install
,我得到以下内容:
... Using debugger-ruby_core_source (1.3.1) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/macuser/.rbenv/versions/2.0.0-p451/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 Makefile creation failed ************************************************************************** No source for ruby-2.0.0-p451 provided with debugger-ruby_core_source gem. ************************************************************************** *** 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/macuser/.rbenv/versions/2.0.0-p451/bin/ruby --with-ruby-dir --without-ruby-dir --with-ruby-include=${ruby-dir}/include --with-ruby-lib --without-ruby-lib=${ruby-dir}/ Gem files will remain installed in /Users/macuser/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/debugger-1.6.5 for inspection. Results logged to /Users/macuser/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/debugger-1.6.5/ext/ruby_debug/gem_make.out An error occurred while installing debugger (1.6.5), and Bundler cannot continue. Make sure that `gem install debugger -v '1.6.5'` succeeds before bundling.
所以我然后尝试运行gem install debugger -v '1.6.5'
,它抛出与上面相同的错误。
从搜索周围,这里有一些我尝试不成功的事情:
-
rake add_source
-
bundle update debugger
-
重置gemfile.lock
-
gem install debugger-ruby_core_source
也可能是其他一些……但似乎没有任何效果。
更新:将我的rbenv本地环境切换到ruby 2.1.0并且它工作正常。 没有解决潜在的问题,但我认为这很好
尝试安装debugger
而不指定版本,然后再次运行bundle install
。
我有同样的错误,它只是工作,不要问我为什么:
$ gem install debugger $ bundle install
在尝试使用ruby 2.0.0-p598安装dubugger时遇到了我认为是同样的问题。
gem debugger-ruby_core_source是调试器的依赖项,并为安装调试器时似乎使用的特定版本的ruby提供头文件。 查看debugger-ruby_core_source/lib/debugger/ruby_core_source/
以查看支持哪些版本 – 不为所有ruby版本提供头文件。 就我而言,它们不是为2.0.0-p598版本提供的。
查看README for debugger-ruby_core_source ,有一个rake任务,用于为ruby版本添加所需的文件。
从gem目录中的命令行开始,我跑了
$ rake add_source VERSION=2.0.0-p598
当我第一次运行此任务时,我收到一个错误,并且需要在再次运行rake任务之前安装archive-tar-minitar gem。
rake任务为我的版本添加了头文件后,我能够成功安装并运行调试器。
我在这里发帖是因为绝对没有用。 解决这个问题的唯一解决方案:
即使我们正在安装调试器,但错误在于安装需求,debugger-ruby_core_source。
如果你看一下它引起问题的错误。
No source for ruby-2.0.0-p451 provided with debugger-ruby_core_source gem.
实际上很容易修复这个错误。 只需运行以下命令,安装依赖项,然后重试:
gem install debugger-ruby_core_source
相信这个解决方案: FIXED gem install debugger -v’1.6.2’没有ruby的来源
问题是你的Gemfile.lock
列出了一个旧的debugger-ruby_core_source
gem。 该gem需要知道您的特定ruby版本,以正确获取头文件,如果您的bundle安装的版本太旧,它将无法工作。
正确的解决方案是通过运行更新您的Gemfile.lock
与新版本
bundle update debugger-ruby_core_source
@ delba和@ superuseroi的答案基本上归结为使用gem
直接从源代码安装debugger-ruby_core_source
gem – 它将提取最新版本,但修复你的bundle会更容易并且也会在你的源代码控制中持续存在(至少直到你接下来升级你的Ruby)。
另请参阅有关常见Ruby gem问题的文章
调试器需要Ruby的源代码才能工作。
所以只需用源代码重新安装Ruby(而不是bin)。
例如:
rvm reinstall 2.0.0 --disable-binary
ruby版本和rails的调试器gem的兼容性似乎存在问题。 运行以下命令对我有用:
rvm ruby-2.0.0-p481
如果它不起作用
rvm list
将获得ruby版本列表。 选择一个可能有用的旧版ruby版本。
谢谢大家。
rvm list rvm ruby-2.0.0-p451
尝试捆绑安装,得到关于无法安装到非裸存储库的错误,建议我删除缓存目录; 我做了:
rm -rf /usr/local/rvm/gems/ruby-2.0.0-p451/cache/
试着
rvm gemsest use [my_gemset_name]
并得到了同样的错误。
最终使用:
rvm gemset use default
和捆绑安装工作。
要解决此问题,您需要重新安装rails的源代码。 此命令将解决此问题:
$ rvm reinstall 2.0.0 --disable-binary
然后,命令$ bundle install
将起作用。
参考 : https : //pfonseca.com/error-to-install-debugger-s-gem
使用byebug gem而不是很好地解决我的问题。