Heroku - therubyracer -v'0.11.0beta8'失败

时间:2012-08-15 02:10:05

标签: ruby-on-rails twitter-bootstrap heroku therubyracer

Installing therubyracer (0.11.0beta8) with native extensions
       Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
       /tmp/build_2c9eqd3g9wxzt/vendor/ruby-1.9.3/bin/ruby extconf.rb
       checking for main() in -lpthread... yes
       creating Makefile
       make
       compiling locker.cc
       compiling context.cc
       compiling primitive.cc
       compiling v8.cc
       compiling handles.cc
       compiling string.cc
       compiling date.cc
       compiling exception.cc
       compiling heap.cc
       compiling backref.cc
       compiling script.cc
       compiling function.cc
       compiling invocation.cc
       compiling init.cc
       compiling external.cc
       compiling rr.cc
       compiling array.cc
       compiling value.cc
       compiling template.cc
       compiling constraints.cc
       compiling constants.cc
       compiling trycatch.cc
       compiling stack.cc
       compiling accessor.cc
       compiling message.cc
       compiling signature.cc
       compiling object.cc
       compiling gc.cc
       linking shared-object v8/init.so
       /tmp/build_2c9eqd3g9wxzt/vendor/bundle/ruby/1.9.1/gems/libv8-3.11.8.3-x86_64-linux/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: No such file or directory
       collect2: ld returned 1 exit status
       make: *** [init.so] Error 1
       Gem files will remain installed in /tmp/build_2c9eqd3g9wxzt/vendor/bundle/ruby/1.9.1/gems/therubyracer-0.11.0beta8 for inspection.
       Results logged to /tmp/build_2c9eqd3g9wxzt/vendor/bundle/ruby/1.9.1/gems/therubyracer-0.11.0beta8/ext/v8/gem_make.out
       An error occurred while installing therubyracer (0.11.0beta8), and Bundler cannot continue.
       Make sure that `gem install therubyracer -v '0.11.0beta8'` succeeds before bundling.
 !
 !     Failed to install gems via Bundler.
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

我可能在这里做错了什么?我一直试图修复这个错误几天,没有运气。这是一个有点不利的问题,因为如果我尝试在没有它的情况下进行捆绑,我会收到Less的错误,这取决于它对于twitter bootstrap。我也试过使用以前版本的therubyracer,但是当我这样做时,我得到了同样的错误,并提出了“确保`gem install therubyracer -v'0.11.0beta8'succeeds捆绑之前”的建议。任何帮助都会很棒!

更新

当我在生产中不包括therubyracer时,我得到这个:( heroku logs)

2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `load'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:185:in `run_command'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `eval'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:71:in `start'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:181:in `load_rackup_config'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/bin/thin:6:in `<top (required)>'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `load'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:151:in `run!'
2012-08-15T02:15:24+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `<main>'
2012-08-15T02:15:26+00:00 heroku[web.1]: Process exited with status 1
2012-08-15T02:15:26+00:00 heroku[web.1]: State changed from starting to crashed
2012-08-15T02:33:23+00:00 heroku[web.1]: State changed from crashed to starting
2012-08-15T02:33:27+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 57351`


2012-08-15T02:33:42+00:00 app[web.1]: **/app/vendor/bundle/ruby/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/context.rb:74:in `IsEntered': HandleScope::HandleScope: Entering the V8 API without proper locking in place (fatal)**


2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/portal.rb:74:in `open'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/context.rb:74:in `enter'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:18:in `block in []='
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:17:in `tap'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/object.rb:17:in `[]='
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/therubyracer-heroku-0.8.1.pre3/lib/v8/context.rb:58:in `[]='
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/less-2.2.1/lib/less/loader.rb:12:in `initialize'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/less-2.2.1/lib/less.rb:14:in `new'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/less-2.2.1/lib/less.rb:14:in `<module:Less>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `block in require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/less-2.2.1/lib/less.rb:9:in `<top (required)>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:236:in `load_dependency'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/less-rails-2.2.3/lib/less/rails.rb:6:in `<top (required)>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `block in require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:236:in `load_dependency'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/less-rails-2.2.3/lib/less-rails.rb:1:in `<top (required)>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:236:in `load_dependency'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bundler/gems/twitter-bootstrap-rails-86cffd500849/lib/twitter-bootstrap-rails.rb:9:in `<top (required)>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `block in require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:68:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:55:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/config/application.rb:10:in `<top (required)>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:66:in `block in require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:55:in `each'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:66:in `each'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler.rb:128:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/config/environment.rb:2:in `<top (required)>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `load'
2012-08-15T02:33:42+00:00 app[web.1]:   from config.ru:3:in `block in <main>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/config/environment.rb:2:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from config.ru:1:in `new'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:71:in `start'
2012-08-15T02:33:42+00:00 app[web.1]:   from config.ru:1:in `<main>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:185:in `run_command'
2012-08-15T02:33:42+00:00 app[web.1]:   from config.ru:3:in `require'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:181:in `load_rackup_config'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `eval'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `load'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `<main>'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:151:in `run!'
2012-08-15T02:33:42+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/bin/thin:6:in `<top (required)>'
2012-08-15T02:33:43+00:00 heroku[web.1]: Process exited with status 1
2012-08-15T02:33:43+00:00 heroku[web.1]: State changed from starting to crashed
2012-08-15T02:37:06+00:00 heroku[slugc]: Slug compilation started
2012-08-15T02:37:53+00:00 heroku[api]: Release v9 created by joshua.chestang@gmail.com
2012-08-15T02:37:53+00:00 heroku[api]: Deploy 5bad9a2 by joshua.chestang@gmail.com
2012-08-15T02:37:53+00:00 heroku[web.1]: State changed from crashed to starting
2012-08-15T02:37:54+00:00 heroku[slugc]: Slug compilation finished
2012-08-15T02:37:58+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 36867`





 **2012-08-15T02:38:11+00:00 app[web.1]: [WARNING] Please install gem 'therubyracer' to use Less.**
    2012-08-15T02:38:11+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:74:in `require': cannot load such file -- twitter/bootstrap/rails (LoadError)**
    2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:62:in `block in require'


2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:55:in `each'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:74:in `rescue in block in require'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/runtime.rb:55:in `require'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler.rb:128:in `require'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/config/application.rb:10:in `<top (required)>'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/config/environment.rb:2:in `require'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/config/environment.rb:2:in `<top (required)>'
2012-08-15T02:38:11+00:00 app[web.1]:   from config.ru:3:in `block in <main>'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
2012-08-15T02:38:11+00:00 app[web.1]:   from config.ru:3:in `require'
2012-08-15T02:38:11+00:00 app[web.1]:   from config.ru:1:in `<main>'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `eval'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `load'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
2012-08-15T02:38:11+00:00 app[web.1]:   from config.ru:1:in `new'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:71:in `start'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:185:in `run_command'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:181:in `load_rackup_config'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:151:in `run!'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/bin/thin:6:in `<top (required)>'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `load'
2012-08-15T02:38:11+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `<main>'
2012-08-15T02:38:12+00:00 heroku[web.1]: Process exited with status 1
2012-08-15T02:38:12+00:00 heroku[web.1]: State changed from starting to crashed

的Gemfile:

source 'http://rubygems.org'

ruby '1.9.3'
gem  'rails', '3.2.8'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
  gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
end

group :development, :test do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
  gem 'thin'
end


gem "heroku"

gem 'libv8', '~> 3.11.8'


gem 'json', '~> 1.6.5'

gem "multi_json", "~> 1.3.6"

#attachment management
gem "paperclip", :git => "git://github.com/thoughtbot/paperclip.git"

#ativity feed
gem 'public_activity', :git => "git://github.com/pokonski/public_activity.git"

gem 'jquery-rails'

#nested-album-form
gem 'nested_form', :git => 'https://github.com/ryanb/nested_form.git'

#creates pattern for widget to send form data in json back to server
gem "js_message"

gem 'kaminari'

#gem 'will_paginate'


#user authentication
gem 'devise'

#notification - basic
gem 'unread'

#id3 tag reader for songs
#gem "taglib-ruby", '~> 0.5.1'

#admin interface
gem 'activeadmin', :git => 'git://github.com/gregbell/active_admin.git'

#gravatar images for users with no profile picture
gem 'gravatar_image_tag'

#amazon s3 for song storage
gem 'aws-sdk'

#authentication for twitter
gem 'omniauth-twitter'

#pretty urls
gem 'friendly_id'

gem 'tire'

group :development do
  gem 'rspec-rails'
  gem 'nifty-generators'
  gem 'annotate'
  gem 'faker'
end

group :test do
  gem 'rspec-rails'
  gem 'webrat'
  gem 'spork', '~> 0.9.0.rc'
  gem 'factory_girl_rails'
  gem 'watchr'
end

#?
gem 'progress_bar'

#web intents - twitter
gem 'tweet-button'



#like buttons
gem 'facebook_share'

#rails paypal interfacing
gem 'activemerchant', :require => 'active_merchant'

#gem 'bootstrap-will_paginate'

gem 'bootstrap-kaminari-views'

gem 'omniauth-facebook'

gem 'simple_form'

gem 'country_select'

# gem 'tiny_tds'
# gem 'activerecord-sqlserver-adapter'
# gem 'ruby-odbc'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
gem 'debugger'

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
  gem 'minitest'
end
gem "mocha", :group => :test

2 个答案:

答案 0 :(得分:1)

你尝试过这个吗? https://github.com/aler/therubyracer-heroku

请参阅therubyracer fails to build on heroku


刚看了一下heroku文档 - https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar

  

therubyracer

     

如果您以前使用的是therubyracer或therubyracer-heroku,   这些宝石不再需要,并且强烈劝阻这些宝石   宝石使用了大量的内存。

如果您未在生产部署中包含therubyracer,会发生什么?

答案 1 :(得分:0)

然而,Heroku不鼓励使用therubyracer宝石,在不影响应用的情况下很难将其从现有项目中移除。

所以有一个解决方案(see)。

添加&#39; therubyracer&#39; ,: platforms =&gt; :ruby到组:资产并升级您的ruby版本。然后删除Gemfile.lock并运行bundle install。

示例:

group :assets do
  gem 'therubyracer', :platforms => :ruby 
end

gem "less-rails"
gem "twitter-bootstrap-rails"