2013-05-27 3 views
4

Когда я нажать мое приложение Heroku это дает мне следующее сообщение об ошибкеошибка therubyracer на heroku как «Не удалось установить драгоценные камни через Bundler».

-----> Ruby/Rails app detected 
-----> Installing dependencies using Bundler version 1.3.2 
     Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment 
     You are trying to install in deployment mode after changing 
     your Gemfile. Run `bundle install` elsewhere and add the 
     updated Gemfile.lock to version control. 
     You have added to the Gemfile: 
     * therubyracer 
! 
!  Failed to install gems via Bundler. 
! 
!  Heroku push rejected, failed to compile Ruby/Rails app 

Я удалил свой файл Gemlock и снова расслоение установить его, но все еще дает мне такую ​​же ошибку. Я также пробовал bundle install --without development:test для производства, он также дает мне ту же ошибку. Что я могу сделать. Вот мой Gemfile

source 'https://rubygems.org' 

gem 'rails', '3.2.9' 

gem 'carrierwave' 
gem 'newrelic_rpm' 

#gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS 

#gem "twitter-bootstrap-rails" 
gem 'will_paginate', '3.0.3' 
#gem 'bootstrap-will_paginate', '0.0.6' 
# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

#gem 'mysql2' 
gem 'dynamic_form' 
gem 'therubyracer', '0.10.2', :platforms => :ruby 
gem 'devise' 
gem 'hirb' 

# Gems used for Facebook 
gem 'facebook_oauth' 
gem 'oauth','0.4.7' 
gem 'will_paginate', '3.0.3' 
gem 'bootstrap-will_paginate', '0.0.6' 
gem 'thin' 
gem 'pg' 
# 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' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 
+0

Что OS вы на – David

+0

Я использую Ubuntu 12.04 – Shrikant1712

ответ

1

Попробуйте запустить bundle install, чем нажимать на удаленное репо.

Кроме того, если вы используете therubyracer для компиляции активов, вы можете перекомпилировать активы локально и читать эту документацию: https://devcenter.heroku.com/articles/rails-asset-pipeline#compiling-assets-locally https://devcenter.heroku.com/articles/rails-asset-pipeline#therubyracer

0

therubyracer камень используется для оценки JavaScript внутри Ruby (Это встраивает интерпретатор JavaScript в Ruby) ,

Этот драгоценный камень необходим, если вы развиваетесь в Ubuntu, поскольку в ubuntu нет Javascript runtime.

Но это не случай с Heroku.

Так, просто держать линию для therubyracer драгоценного камня в Gemfile под development группы, как показано ниже:

group :development do 
    gem 'therubyracer', '0.10.2', :platforms => :ruby 
end 
0

По Heroku docs:

Если вы были ранее с помощью therubyracer или therubyracer-Heroku , эти драгоценные камни больше не требуются, и сильно обескураживает, так как эти драгоценные камни используют очень большой объем памяти.

Как замена на Ubuntu можно установить NodeJS:

sudo apt-get install nodejs 
Смежные вопросы