2012-10-19 6 views
7

में हेरोोकू मणि के बिना एक रेक कार्य के भीतर सेकोकू सीएलआई को कॉल नहीं कर सकता है। मेरे पास थोड़ी देर के लिए हेरोकू पर एक ऐप चल रहा है और हाल ही में तैनाती पर यह संदेश देखा गया है कि हेरोकू मणि को बहिष्कृत किया गया था Heroku Toolbelt के पक्ष में। टूलबेल्ट के साथ, मेरी Heroku के सभी आदेशों कमांड लाइन से लेकिन एक रैक कार्य के भीतर काम ठीक (जो मैं तैनाती के लिए सेटअप) मैं निम्नलिखित त्रुटियाँ मिलती है:जेमफाइल

$ rake deploy:staging 
Everything up-to-date 

/Users/aramisbear/.rvm/gems/[email protected]/gems/bundler-1.2.0/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': heroku is not part of the bundle. Add it to Gemfile. (Gem::LoadError) 
from /Users/aramisbear/.rvm/gems/[email protected]/bin/heroku:18:in `<main>' 
from /Users/aramisbear/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `eval' 
from /Users/aramisbear/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `<main>' 

/Users/aramisbear/.rvm/gems/[email protected]/gems/bundler-1.2.0/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': heroku is not part of the bundle. Add it to Gemfile. (Gem::LoadError) 
from /Users/aramisbear/.rvm/gems/[email protected]/bin/heroku:18:in `<main>' 
from /Users/aramisbear/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `eval' 
from /Users/aramisbear/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `<main>' 

त्रुटियों दिखाया जा रहा है इस तैनाती रेक से हैं कार्य:

namespace :deploy do 

    desc "deploys to Production after uploading assets to S3" 
    task :production do 
    puts `git push heroku master` 
    puts `heroku run rake db:migrate --app myapp` 
    puts `heroku restart --app myapp` 
    end 

    desc "deploys to Staging after uploading assets to S3" 
    task :staging do 
    puts `git push staging staging:master` 
    puts `heroku run rake db:migrate --app myapp-staging` 
    puts `heroku restart --app myapp-staging` 
    end 
end 

प्रत्येक कार्य में दो हेरोकू कमांड हैं जहां समस्या आती है। अगर मैं उन्हें कमांड लाइन से निष्पादित करता हूं, तो वे ठीक काम करते हैं। मुझे संदेह है कि यह मायने रखता है लेकिन मैं ओएसएक्स को आरवीएम के साथ भी चला रहा हूं।

कोई विचार यह कैसे ठीक करें? मुझे एहसास है कि यह एक बड़ा सौदा नहीं है क्योंकि मैं केवल उन अतिरिक्त आदेशों को मैन्युअल रूप से चला सकता हूं या उन्हें उपनाम कर सकता हूं, लेकिन मैं सिर्फ यह जानना चाहता हूं कि पहली जगह में कोई समस्या क्यों है।

उत्तर

8

heroku कमांड के मणि का संस्करण शायद सिस्टम की तुलना में आपके पैथ में उच्च प्राथमिकता है।

मैं इसे एक परीक्षण परियोजना में पुन: पेश करने में सक्षम था।

जब मैं which heroku चलाता हूं, तो मुझे लगता है कि खोल की पसंद /home/justinf/.rvm/gems/ruby-1.9.3-p286/bin/heroku है।

यह सब कुछ आसान gem uninstall heroku है, निष्पादन योग्य को हटाने के लिए हाँ का उत्तर देना।

which heroku अब मुझे /usr/bin/heroku देता है, और मेरा test.rb अब बंडलर अपवाद के साथ क्रैश होने की बजाय कोई त्रुटि नहीं करता है।

+0

वह था। धन्यवाद! – brightball

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