7

git push heroku master を実行すると、このエラーが発生し、ルビー レース カーが正常にインストールされ、libv8 も同様にインストールされました。インターネット全体を調べましたが、まだこの問題を修正していません。ローカル リポジトリを heroku にプッシュしようとしています。

doom@linux:~/rails_projects/first_app$ git push heroku master
Counting objects: 68, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (55/55), done.
Writing objects: 100% (68/68), 26.16 KiB, done.
Total 68 (delta 6), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.2.2
   Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
   Fetching gem metadata from https://rubygems.org/.........
   Fetching gem metadata from https://rubygems.org/..
   Installing rake (10.0.2)
   Installing i18n (0.6.1)
   Installing multi_json (1.5.0)
   Installing activesupport (3.2.9)
   Installing builder (3.0.4)
   Installing activemodel (3.2.9)
   Installing erubis (2.7.0)
   Installing journey (1.0.4)
   Installing rack (1.4.1)
   Installing rack-cache (1.2)
   Installing rack-test (0.6.2)
   Installing hike (1.2.1)
   Installing tilt (1.3.3)
   Installing sprockets (2.2.2)
   Installing actionpack (3.2.9)
   Installing mime-types (1.19)
   Installing polyglot (0.3.3)
   Installing treetop (1.4.12)
   Installing mail (2.4.4)
   Installing actionmailer (3.2.9)
   Installing arel (3.0.2)
   Installing tzinfo (0.3.35)
   Installing activerecord (3.2.9)
   Installing activeresource (3.2.9)
   Installing coffee-script-source (1.4.0)
   Installing execjs (1.4.0)
   Installing coffee-script (2.2.0)
   Installing rack-ssl (1.3.2)
   Installing json (1.7.5) with native extensions
   Installing rdoc (3.12)
   Installing thor (0.16.0)
   Installing railties (3.2.9)
   Installing coffee-rails (3.2.2)
   Installing jquery-rails (2.0.2)
   Using bundler (1.2.2)
   Installing rails (3.2.9)
   Installing ref (1.0.2)
   Installing sass (3.2.3)
   Installing sass-rails (3.2.5)
   Installing therubyracer (0.11.0) with native extensions
   Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
   /usr/local/bin/ruby extconf.rb
   checking for main() in -lpthread... yes
   checking for v8.h... no
   *** 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=/usr/local/bin/ruby
   --with-pthreadlib
   --without-pthreadlib
   --enable-debug
   --disable-debug
   --with-v8-dir
   --without-v8-dir
   --with-v8-include
   --without-v8-include=${v8-dir}/include
   --with-v8-lib
   --without-v8-lib=${v8-dir}/lib
   /tmp/build_201rmwb3smm2n/vendor/bundle/ruby/1.9.1/gems/therubyracer-0.11.0/ext/v8/build.rb:42:in `build_with_system_libv8': unable to locate libv8. Please see output for details (RuntimeError)
   from extconf.rb:22:in `<main>'
   The Ruby Racer requires libv8 ~> 3.11.8
   to be present on your system in order to compile
   and link, but it could not be found.
   In order to resolve this, you will either need to manually
   install an appropriate libv8 and make sure that this
   build process can find it. If you install it into the
   standard system path, then it should just be picked up
   automatically. Otherwise, you'll have to pass some extra
   flags to the build process as a hint.
   If you don't want to bother with all that, there is a
   rubygem that will do all this for you. You can add
   following line to your Gemfile:
   gem 'libv8', '~> 3.11.8'
   We hope that helps, and we apologize, but now we have
   to push the eject button on this install.
   thanks,
   The Mgmt.
   Gem files will remain installed in /tmp/build_201rmwb3smm2n/vendor/bundle/ruby/1.9.1/gems/therubyracer-0.11.0 for inspection.
   Results logged to /tmp/build_201rmwb3smm2n/vendor/bundle/ruby/1.9.1/gems/therubyracer-0.11.0/ext/v8/gem_make.out
   An error occurred while installing therubyracer (0.11.0), and Bundler cannot continue.
   Make sure that `gem install therubyracer -v '0.11.0'` succeeds before bundling.
 !
 !     Failed to install gems via Bundler.
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

 To git@heroku.com:still-tundra-4364.git
 ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'git@heroku.com:still-tundra-4364.git'

これが私のGemfileです

    source 'https://rubygems.org'

    gem 'rails', '3.2.9'

    group :development do
    gem 'sqlite3', '1.3.5'
    gem 'libv8', '~> 3.11.8'
    #gem 'libv8', '~> 3.11.8'  # Update version number as needed
    gem "execjs", "~> 1.4.0"
    gem 'therubyracer', '~> 0.11.0beta5'
    end


    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
    gem 'sass-rails',   '3.2.5'
    gem 'coffee-rails', '3.2.2'
    #gem 'libv8', '~> 3.11.8'

    gem 'uglifier', '1.2.3'
    end

    gem 'jquery-rails', '2.0.2'

    group :production do
    gem 'pg', '0.12.2'
    end

そして私のGemlockファイル

GEM
remote: https://rubygems.org/
specs:
actionmailer (3.2.9)
  actionpack (= 3.2.9)
  mail (~> 2.4.4)
actionpack (3.2.9)
  activemodel (= 3.2.9)
  activesupport (= 3.2.9)
  builder (~> 3.0.0)
  erubis (~> 2.7.0)
  journey (~> 1.0.4)
  rack (~> 1.4.0)
  rack-cache (~> 1.2)
  rack-test (~> 0.6.1)
  sprockets (~> 2.2.1)
activemodel (3.2.9)
  activesupport (= 3.2.9)
  builder (~> 3.0.0)
activerecord (3.2.9)
  activemodel (= 3.2.9)
  activesupport (= 3.2.9)
  arel (~> 3.0.2)
  tzinfo (~> 0.3.29)
activeresource (3.2.9)
  activemodel (= 3.2.9)
  activesupport (= 3.2.9)
activesupport (3.2.9)
  i18n (~> 0.6)
  multi_json (~> 1.0)
arel (3.0.2)
builder (3.0.4)
coffee-rails (3.2.2)
  coffee-script (>= 2.2.0)
  railties (~> 3.2.0)
coffee-script (2.2.0)
  coffee-script-source
  execjs
coffee-script-source (1.4.0)
erubis (2.7.0)
execjs (1.4.0)
  multi_json (~> 1.0)
hike (1.2.1)
i18n (0.6.1)
journey (1.0.4)
jquery-rails (2.0.2)
  railties (>= 3.2.0, < 5.0)
  thor (~> 0.14)
json (1.7.5)
libv8 (3.11.8.4)
mail (2.4.4)
  i18n (>= 0.4.0)
  mime-types (~> 1.16)
  treetop (~> 1.4.8)
mime-types (1.19)
multi_json (1.5.0)
pg (0.12.2)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
  rack (>= 0.4)
rack-ssl (1.3.2)
  rack
rack-test (0.6.2)
  rack (>= 1.0)
rails (3.2.9)
  actionmailer (= 3.2.9)
  actionpack (= 3.2.9)
  activerecord (= 3.2.9)
  activeresource (= 3.2.9)
  activesupport (= 3.2.9)
  bundler (~> 1.0)
  railties (= 3.2.9)
railties (3.2.9)
  actionpack (= 3.2.9)
  activesupport (= 3.2.9)
  rack-ssl (~> 1.3.2)
  rake (>= 0.8.7)
  rdoc (~> 3.4)
  thor (>= 0.14.6, < 2.0)
rake (10.0.2)
rdoc (3.12)
  json (~> 1.4)
ref (1.0.2)
sass (3.2.3)
sass-rails (3.2.5)
  railties (~> 3.2.0)
  sass (>= 3.1.10)
  tilt (~> 1.3)
sprockets (2.2.2)
  hike (~> 1.2)
  multi_json (~> 1.0)
  rack (~> 1.0)
  tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.5)
therubyracer (0.11.0)
  ref
thor (0.16.0)
tilt (1.3.3)
treetop (1.4.12)
  polyglot
  polyglot (>= 0.3.1)
tzinfo (0.3.35)
uglifier (1.2.3)
  execjs (>= 0.3.0)
  multi_json (>= 1.0.2)

PLATFORMS
ruby

DEPENDENCIES
coffee-rails (= 3.2.2)
execjs (~> 1.4.0)
jquery-rails (= 2.0.2)
libv8 (~> 3.11.8)
pg (= 0.12.2)
rails (= 3.2.9)
sass-rails (= 3.2.5)
sqlite3 (= 1.3.5)
therubyracer (~> 0.11.0beta5)
uglifier (= 1.2.3)

だから、私が知っている回避策がない既知の問題があるようです

https://github.com/cowboyd/therubyracer/issues/215

4

2 に答える 2

5

私は同じ問題を抱えていて、提案の1つを試しました(既知の作業を使用してtherubyracerください):

# Gemfile
gem 'therubyracer', '0.10.2', :platforms => :ruby

それでおしまい。再び Heroku にデプロイできます。

于 2012-12-20T13:21:35.067 に答える
3

therubyracer などを含める必要はありません。もう。

から: https://devcenter.heroku.com/articles/rails-asset-pipeline

ルビーレーサー

以前に therubyracer または therubyracer-heroku を使用していた場合、これらの gem は不要になりました。これらの gem は非常に大量のメモリを使用するため、使用しないことを強くお勧めします。

于 2013-06-20T05:50:05.377 に答える