2013-01-22 5 views
1

명령 줄에서 heroku toolbelt를 사용하여 전환했습니다. 하지만, 내 레이크 작업은 이제 실패 : 문제없이헤로 쿠 도구 모음이 레이크 작업과 작동하지 않습니다.

=> Running "heroku run rake --trace db:migrate --app MYAPPNAME" 
/Users/USERNAME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/rubygems_integration.rb:143:in `block in replace_gem': heroku is not part of the bundle. Add it to Gemfile. (Gem::LoadError) 
    from /Users/USERNAME/.rvm/gems/ruby-1.9.2-p290/bin/heroku:18:in `<main>' 
rake aborted! 
ERROR running "heroku run rake --trace db:migrate --app MYAPPNAME" 
/Users/USERNAME/Code/luxr/lib/shell.rb:35:in `execute' 
/Users/USERNAME/Code/luxr/lib/tasks/deploy_tasks.rake:22:in `block (2 levels) in <top (required)>' 
Tasks: TOP => deploy:production 
(See full trace by running task with --trace) 

같은 명령 heroku run rake --trace db:migrate --app MYAPPNAME 작품은 명령 줄에 직접 입력.

아이디어가 있으십니까?

업데이트 : 저는 heroku toolbelt가 설치되어 있지만, 루비 1.9.3에 있고 앱이 1.9.2p290 인 것을보고 문제가 발생 했습니까?

$ heroku version 
heroku-toolbelt/2.34.0 (x86_64-darwin10.8.0) ruby/1.9.3 

$ ruby -v 
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.2.0] 
+0

와 Heroku가 툴 벨트에 전화를 포장. 'heroku version'을 실행하면 무엇이 실행되고 있는지 알 수 있습니다. –

+0

toolbelt를 이미 설치했습니다 :'heroku-toolbelt/2.34.0 (x86_64-darwin10.8.0) ruby ​​/ 1.9.3' 이제 1.9.3에 있고 앱은 1.9입니다. .2p290 .... 그 차이점은 무엇입니까? – TLK

+0

'NOEXEC_DISABLE = 1 heroku run rake ...'가 작동합니까? – matt

답변

1

Bundler.with_clean_env과 함께 heroku 명령을 실행하면 효과적입니다. 실행하려는 레이크 작업이 cache_flush를 호출하면,이 보석을 찾고 있습니다 .. 당신이 툴 벨트를 사용하지 않는 것 Bundler.with_clean_env

task :cache_flush do 
    Bundler.with_clean_env { p `heroku --help` } 
end 
+0

어떻게이 작업을 수행합니까?이 코드는 어디에 속합니까? – baash05

+0

내 답변을 편집하고 자세히 설명했습니다. – lgx