2013-12-09 104 views
5

我最近更新到小牛隊。爲xcode添加了命令行工具。試過了「軟件包更新調試器」,以及我發現的其他所有修復,包括這個rake add_source,以包含在這裏找到的適當頭文件:http://sponsorpay.github.io/blog/2012/06/11/ruby-debugger-and-no-source-for-ruby-error/,我仍然無法將我的項目推送到heroku而沒有錯誤。任何幫助表示讚賞。提前致謝。ruby​​-1.9.2-p321沒有提供調試器的源代碼-ruby_core_source gem

更新:發現這一點,但不知道該怎麼做。 「諸如debugger-linecache之類的寶石需要顯式的補丁級別的Ruby,這對於開發來說是很好的,但不應該用於生產。如果你在生產中有這些Gems 之一,並且Ruby的補丁得到升級,你的部署將會失敗。

解決方法是將您的依賴項移出Gemfile的生產組。 這裏的錯誤:

安裝調試,linecache(1.2.0) 安裝調試,ruby_core_source(1.2.4) 安裝調試器(1.6.3) 寶石::安裝:: ExtensionBuildError:錯誤:未能建立寶石本地擴展。

/tmp/ruby-1.9.2/bin/ruby extconf.rb 
    checking for rb_method_entry_t.body in method.h... no 
    checking for vm_core.h... no 
    checking for rb_method_entry_t.body in method.h... no 
    checking for vm_core.h... no 
    Makefile creation failed 
    ************************************************************************** 
    No source for ruby-1.9.2-p321 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=/tmp/ruby-1.9.2/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}/lib 


    Gem files will remain installed in /tmp/build_3f34841b-c8ae-4ac7-a6ff-9cdb26e947fa/vendor/bundle/ruby/1.9.1/gems/debugger-1.6.3 for inspection. 
    Results logged to /tmp/build_3f34841b-c8ae-4ac7-a6ff-9cdb26e947fa/vendor/bundle/ruby/1.9.1/gems/debugger-1.6.3/ext/ruby_debug/gem_make.out 
    An error occurred while installing debugger (1.6.3), and Bundler cannot 
    continue. 
    Make sure that `gem install debugger -v '1.6.3'` succeeds before bundling. 

! !無法通過Bundler安裝寶石。 !

!推送拒絕,未能Ruby編譯應用程序

+2

謝謝。刪除(重命名)我的Gemfile.lock,然後再次運行包解決了我的問題。這是第一次在這臺機器上捆綁這個回購。如果任何人有興趣,成功捆綁包括以下輸出:使用debugger-linecache(1.2.0) 安裝debugger-ruby_core_source(1.3.1) 安裝調試器(1.6.5) – Patrick

回答

1

我將此添加到我的Gemfile

gem 'debugger', group: [:development, :test] 

我的寶石文件。

刪除了我的寶石鎖文件rm Gemfile.lock。然後bundle install,並推送成功。

+0

刪除我的答案。感謝您發佈您的解決方案。 –

+0

這是一個危險的舉動,特別是如果您的Gemfile沒有謹慎指定版本,因爲您可以通過重大更改來更新寶石。 – Agustin