Your SlideShare is downloading. ×
0
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Resolvendo problemas com o Bbundler

755

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
755
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Resolvendo problemas de Dependências com o Rodrigo Alves Vieira rodrigo3n.com  rodrigo3n@gmail.com @rodrigo3n
  • 2. O que é o Bundler?
  • 3. O que é o Bundler?Gerenciador e Empacotador de Dependências
  • 4. O que é o Bundler?Gerenciador e Empacotador de DependênciasConvenção no Rails apartir da versão 3.0.0.beta1
  • 5. O que é o Bundler?Gerenciador e Empacotador de DependênciasConvenção no Rails apartir da versão 3.0.0.beta1Criado por Yehuda Katz, Carl Lerche e Andre Arko
  • 6. O que é o Bundler?Gerenciador e Empacotador de DependênciasConvenção no Rails apartir da versão 3.0.0.beta1Criado por Yehuda Katz, Carl Lerche e Andre ArkoPensado pra servir pra qualquer projeto Ruby (E sobre qualquer interpretador)
  • 7. Porquê Bundler?
  • 8. Porquê Bundler?Porque sua aplicação precisa de outras Gems
  • 9. Porquê Bundler?Porque sua aplicação precisa de outras GemsPorque rake gems:install poderia alterar versões
  • 10. Porquê Bundler?Porque sua aplicação precisa de outras GemsPorque rake gems:install poderia alterar versõesPorque você não quer perder tempo
  • 11. Porquê Bundler?Porque sua aplicação precisa de outras GemsPorque rake gems:install poderia alterar versõesPorque você não quer perder tempoPorque é muito fácil de usar e manter
  • 12. Porquê Bundler?Porque sua aplicação precisa de outras GemsPorque rake gems:install poderia alterar versõesPorque você não quer perder tempoPorque é muito fácil de usar e manterPorque o antigo sistema de dependências é burro
  • 13.  Gem::LoadError: cant activate rack (~> 1.0.0., runtime) for["actionpack-2.3.5"], already activated rack-1.1.0 for ["thin-1.2.7"] 
  • 14. WTF?!
  • 15. Isso acontece quando numamesma aplicação você inclui duas Gems diferentes que dependem de versões divergentes de uma determinada/única Gem  
  • 16. Solução do Bundler 
  • 17. Solução do Bundler Resolver dependências antes de instalar
  • 18. Solução do Bundler Resolver dependências antes de instalarLacrar as Gems após instalá-las
  • 19. Solução do Bundler Resolver dependências antes de instalarLacrar as Gems após instalá-lasTe deixa usar gems direto de repositórios Git
  • 20. Solução do Bundler Resolver dependências antes de instalarLacrar as Gems após instalá-lasTe deixa usar gems direto de repositórios GitAdeus ao config/environment.rb do Rails 2.3!
  • 21. Bem vindo, Gemfile
  • 22. #Isso é um Gemfilesource http://rubygems.org#source :gemcutter ou source http:gems.meusite.comgem rails, 3.0.0.beta4gem sqlite3-ruby, :require => sqlitegem smart_model#Quer usar o Rails direto do repositório oficial?:#gem rails, :git => git://github.com/rails/rails.git#Ou mesmo, quer usar o teu fork do Rails?:#gem rails, :git => git://github.com/tu/rails.git#gem rails, :git =>git@github.com:rodrigo3n/rails.git#Ou também:#gem rails, :path => ~/codigo/gems/rails#Tem muito mais por aí.... o/
  • 23. Uma outra dicagem funk, :git =>git@github.com:rodrigo3n/funk.git,:branch => experimental
  • 24. O Bundler te deixa criar ambientes de Gems
  • 25. O Bundler te deixa criar ambientes de Gems(De uma maneira ainda mais flexível do que no antigo config/environments.rb)
  • 26. group :development do gem sqlite3-ruby, :require => sqlite gem unicornendgroup :test do gem rspec-rails gem cucumber-rails gem launchyendgroup :production do gem pg gem passengerend
  • 27. group :development do gem sqlite3-ruby, :require => sqlite gem unicornendgroup :test do gem rspec-rails gem cucumber-rails gem launchyendgroup :production do gem pg gem passengerend % bundle install --without production
  • 28. Você pode também criar seuspróprios ambientes de Gems
  • 29. group :meugrupo do gem sinatra gem heroku gem eventmachineend
  • 30. Lista de comandos do Bundler    bundle check bundle console [grupo] bundle exec bundle help [tarefa] bundle init bundle install bundle lock bundle open [gem] bundle package bundle show [gem] bundle unlock bundle version
  • 31. Rode $bundle no Terminal e veja essalistagem de comandos com suas respectivas descrições
  • 32. Algumas coisas que você precisa saber sobre o Bundler 
  • 33. Algumas coisas que você precisa saber sobre o Bundler Sempre aponta pra as Gems que você já tem instaladas
  • 34. Algumas coisas que você precisa saber sobre o Bundler Sempre aponta pra as Gems que você já tem instaladasO $bundle install  instala as Gems no seu sistema
  • 35. Algumas coisas que você precisa saber sobre o Bundler Sempre aponta pra as Gems que você já tem instaladasO $bundle install  instala as Gems no seu sistemaO Bundler pede a senha do  $sudo  se for o caso
  • 36. Algumas coisas que você precisa saber sobre o Bundler Sempre aponta pra as Gems que você já tem instaladasO $bundle install  instala as Gems no seu sistemaO Bundler pede a senha do  $sudo  se for o casoTravamento (locking) de Gems acontece automagicamente
  • 37. Algumas coisas que você precisa saber sobre o Bundler Sempre aponta pra as Gems que você já tem instaladasO $bundle install  instala as Gems no seu sistemaO Bundler pede a senha do  $sudo  se for o casoTravamento (locking) de Gems acontece automagicamente$bundle update atualiza versões  (Tenha cuidado!)
  • 38. Há também uma opção pra usar diferentesGems em diferentes interpretadores Ruby
  • 39. Há também uma opção pra usar diferentes Gems em diferentes interpretadores Rubyplatform :ruby, :rbx do gem sqlite3-ruby, :require => sqliteendplatform :jruby do gem activerecord-jdbc-adapterend
  • 40. Há também uma opção pra usar diferentes Gems em diferentes interpretadores Rubyplatform :ruby, :rbx do gem sqlite3-ruby, :require => sqliteendplatform :jruby do gem activerecord-jdbc-adapterend Isso é especialmente útil quando você quer testar performance e comportamente do seu projeto Rails
  • 41. Nem tudo no Bundler são unicórnios e twitter-sem-fail-whale, alguns problemas já foram relatadosembora eu pessoalmente não tenha tido nenhum(até o presente momento).Visite http://github.com/carlhuda/bundler/issuesou ruby-bundler no Google Groups ou #bundler noFreenode. Sugestões, questões e reporte de Bugssão bem vindos!Alternativamente você pode me mandar um emailou um tweet. Ou postar algo no Frevo on Rails ;-)
  • 42. Quer saber mais é? http://gembundler.com Obrigado!Rodrigo Alves Vieira rodrigo3n.com rodrigo3n@gmail.com @rodrigo3n

×