2013-04-27 11 views
5

मैं रूबी ऑन रेल्स के लिए नया हूँ, एप्लिकेशन को स्थानीय मशीन पर चल रहा हैHeroku बंडल त्रुटि (रेल अनुप्रयोग)

स्थानीय बंडल

काम करता है लेकिन जब मैं Git धक्का Heroku मास्टर करने की कोशिश, इस है त्रुटि मैं मिलता है:

remote: 
remote: -----> Ruby/Rails app detected 
remote: -----> Using Ruby version: ruby-1.9.3 
remote: -----> Installing dependencies using 
remote:  Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment 
remote:  /usr/bin/env: ruby1.9.1: No such file or directory 
remote: ! 
remote: !  Failed to install gems via Bundler. 
remote: ! 
remote: !  Heroku push rejected, failed to compile Ruby/rails app 
remote: 

मेरी gemfile:

source 'http://rubygems.org' 
ruby '1.9.3' 
gem 'rails', '4.0.0.beta1' 

group :development, :test do 
    gem 'sqlite3' 
    gem 'rspec-rails' 
end 

group :assets do 
    gem 'sass-rails', '~> 4.0.0.beta1' 
    gem 'coffee-rails', '~> 4.0.0.beta1' 

    gem 'therubyracer', platforms: :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

gem 'turbolinks' 
gem 'jbuilder', '~> 1.0.1' 
group :test do 
    gem 'capybara' 
end 

group :production do 
    gem 'pg' 
end 

मुझे क्या याद आ रही है? अग्रिम धन्यवाद!

उत्तर

9

मुझे एक ही समस्या थी। मुद्दा यह है कि बंडलर स्टब्स पैदा कर रहा है। रेल 4 ऐप्स ऐप के बिन/निर्देशिका में स्टब्स स्टोर नहीं करते हैं। इस समस्या को आप निम्नलिखित आदेशों का उपयोग करने की आवश्यकता को ठीक करने के लिए:

$ bundle config --delete bin 

तो फिर तुम फिर नए बिन/निर्देशिका जोड़ने के नए रेल 4 निष्पादनयोग्य

$ rake rails:update:bin 

उपयोग करने के लिए बिन निर्देशिका अद्यतन करने की आवश्यकता अपने संस्करण नियंत्रण का उपयोग कर रहे हैं:

$ git add bin 

परिवर्तन लें और Heroku

1

समस्या आपके रूबी PATH के साथ है। तो सबसे पहले देखें कि क्या होता है जब आप

$ heroku run "ruby -v" 
Running `ruby -v` attached to terminal... up, run.8734 
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] 

क्या आपको समान आउटपुट मिलता है? यदि नहीं, तो अपना रास्ता जांचें।

$ heroku config -s | grep PATH 
GEM_PATH=vendor/bundle/ruby/1.9.1 
PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 

नोटिस, bin पथ में है। यदि यह आपके से गायब है, तो आप मैन्युअल रूप से PATH सेट कर सकते हैं और निम्न आदेश से bin जोड़ सकते हैं।

$ heroku config:set PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 
+0

धन्यवाद करने के लिए अपने कोड को धक्का तेजी से प्रतिक्रिया के लिए गोरिश, मुझे समान आउटपुट मिला: टर्मिनल से जुड़ी 'ruby -v' चल रहा है ... ऊपर, run.2357 ruby ​​1.9.2p290 (2011-07-09 संशोधन 32553) [x86_64-linux] – monk3ybidzness

संबंधित मुद्दे