2014-09-02 46 views
0

每次我运行的Heroku命令我收到此错误:所有Heroku的命令被打破,由于Ruby的版本

Your Ruby version is 1.9.3, but your Gemfile specified 2.1.2 

这已经发生的事情,因为我推一些变化(增加sidekiq并更改我的clock.rb文件,也:我需要迁移数据库的新模型)

有谁知道为什么会发生这种情况?它只是在我将ruby'2.1.2'添加到gemfile后才开始。但在此之前,我得到了this funky segmentation fault error

这里是我的Gemfile:

source 'https://rubygems.org' 

ruby '2.1.2' 

gem 'rails', '4.1.1' 
gem 'pg' 
gem 'sass-rails', '~> 4.0.3' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.0.0' 
gem 'jquery-rails' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0',   group: :doc 
gem 'clockwork' 
gem 'httparty' 
gem 'omniauth-facebook' 
gem 'parse-ruby-client' 
gem 'parse_resource', '~> 1.8.0' 
gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby' 
gem 'sidekiq' 
gem 'foundation-rails' 

group :development, :test do 
    gem 'pry-rails' 
    gem 'rspec-rails' 
    gem 'factory_girl_rails' 
    gem 'shoulda-matchers' 
    gem 'valid_attribute' 
    gem 'capybara' 
    gem 'dotenv-rails' 
    gem 'better_errors' 
    gem 'binding_of_caller' 
end 

group :production do 
    gem 'rails_12factor' 
    gem 'thin' 
end 
+0

'ruby --version'给你带来了什么?这听起来像你已经安装了Ruby 1.9.3,但你要求使用2.1.2。尝试在本地升级到2.1.2。 – 2014-09-02 14:50:57

+0

是的我有本地2.1.2:ruby 2.1.2p95(2014-05-08修订版45877)[x86_64-darwin13.0] – 2014-09-02 14:51:21

+0

https://devcenter.heroku.com/articles/ruby-versions – BroiSatse 2014-09-02 14:52:39

回答

4

这似乎涉及捆绑商问题。通过这里https://github.com/sstephenson/rbenv/issues/400同一类问题,也去这里得到固定:

# Rakefile 
task :freedom do 
    Bundler.with_clean_env { sh "heroku" } 
end 

希望这有助于你!

+0

谢谢我将它添加到我的rake文件中,但我不知道该怎么做用它做? – 2014-09-02 15:17:37

+0

现在尝试运行你的rake命令。它也得到这个错误? – 2014-09-02 15:42:35

+0

创建一个类似'task的耙子任务: Bundler.with_clean_env {sh“heroku run bundle exec rake db:migrate --app#{app}”} end' – 2014-09-02 15:51:58

0

我使用Ruby有两种应用。在您的终端中,切换到应用程序的目录,然后检查您正在使用的Ruby版本。适当更新它。

+0

对不起,我不确定你的意思。我的机器上只有2.1.2。直到最近,为了响应这个分段错误错误,我还没有在ruby版本中设置ruby版本:https://gist.github.com/justuseapen/9c80bb2e117c08293e51 – 2014-09-02 15:03:48