Ich habe schon eine Weile eine App auf Heroku laufen lassen und bei einer kürzlichen Deployment wurde die Nachricht angezeigt, dass das Heroku-Juwel veraltet war zugunsten des Heroku Toolbelt. Mit dem toolbelt, alle meine Heroku Befehle funktionieren von der Kommandozeile, sondern innerhalb einer Rake-Task (die ich Setup für Einsätze) bekomme ich folgende Fehler:Aufrufe von heroku CLI können nicht innerhalb einer Rake-Aufgabe ohne das Heroku-Juwel im Gemfile erfolgen.
$ 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]pp/bin/ruby_noexec_wrapper:14:in `<main>'
Die Fehler aus diesem Einsatzrechen sind gezeigt werden Aufgabe:
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
die beiden Heroku in jedem Task-Befehle sind, wo das Problem herkommt. Wenn ich sie von der Befehlszeile aus ausführen, funktionieren sie jedoch gut. Ich bezweifle, dass es wichtig ist, aber ich betreibe auch OSX mit RVM.
Irgendeine Idee, wie man das repariert? Mir ist klar, dass es keine große Sache ist, da ich den zusätzlichen Befehl manuell ausführen oder als Alias verwenden kann, aber ich möchte nur wissen, warum es überhaupt ein Problem gibt.
Das war es. Vielen Dank! – brightball