2014-09-02 44 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