2013-05-27 81 views
4

当我把我的应用程序的Heroku它给了我下面的错误heroku上的therubyracer错误为“无法通过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

回答

0

therubyracer宝石是用来评估JavaScriptRuby(它嵌入JavaScript解释为红宝石) 。

这个宝石是必需的,如果你是在Ubuntu中开发的,ubuntu没有Javascript runtime

但是它没有与Heroku的情况。

所以,只要保持线为Gemfiledevelopmenttherubyracer宝石如下所示:

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

根据Heroku docs

如果您以前使用therubyracer或therubyracer-的Heroku ,这些宝石不再需要,并且强烈不鼓励,因为这些宝石使用了大量的内存。

由于在Ubuntu的替代,您可以安装的NodeJS:

sudo apt-get install nodejs