Instale a gem Bundler usando o Ansible

Estou tentando instalar o Bundler no meu VPS usando o Ansible.

Eu já tenho o rbenv configurado e o ruby global é 2.1.0.

Se eu fizer o SSH como root no servidor e executargem install bundler, instala perfeitamente.

Eu tentei as três maneiras a seguir de usar o Ansible para instalar a gem Bundler e as três não produzem erros, mas quando eu SSH dentro e corrogem list, Bundler está longe de ser visto.

Tentativa 1:

---
- name: Install Bundler
  shell: gem install bundler

Tentativa 2:

---
- name: Install Bundler
  shell: gem install bundler

Tentativa 3:

---
- name: Install Bundler
  gem: name=bundler
       state=latest

Eu também tentei a última tentativa comuser_install=yes e também comuser_install=no e nem faz nenhuma diferença.

Alguma idéia de como posso instalar o Bundler corretamente via Ansible?

Estou trabalhando nisso há algum tempo e tenho uma versão ruby instalada: 2.1.0 e descobri que o diretório shims do rbenv não contém um shim parabundle.

Um calço parabundle estar lá? Só estou ficando confuso sobre o porquê do capistrano não encontrar obundle comando conforme listado quando eu corrosudo gem list mas NÃO quando corrogem list?

root@weepingangel:/usr/local/rbenv/shims# echo $PATH
/usr/local/rbenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
root@weepingangel:/usr/local/rbenv/shims# gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 2.2.0
  - RUBY VERSION: 2.1.0 (2013-12-25 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
  - RUBY EXECUTABLE: /usr/local/rbenv/versions/2.1.0/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rbenv/versions/2.1.0/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
     - /root/.gem/ruby/2.1.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org", "http://gems.github.com"]
     - "gem" => "--no-ri --no-rdoc"
  - REMOTE SOURCES:
     - http://gems.rubyforge.org
     - http://gems.github.com
  - SHELL PATH:
     - /usr/local/rbenv/versions/2.1.0/bin
     - /usr/local/rbenv/libexec
     - /usr/local/rbenv/shims
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games

Alguma ideia?

Então, acho que os dois principais problemas que tenho:

Por que o bundler é visível apenas quando executosudo gem list?

Minha implantação está dizendo:

INFO [18d5838c] Running /usr/bin/env bundle install --binstubs  
/var/rails_apps/neiltonge/shared/bin --path  
/var/rails_apps/neiltonge/shared/bundle --without development test
--deployment --quiet on 188.226.159.96 DEBUG [18d5838c] Command: cd /var/rails_apps/neiltonge/releases/20140301205432 && ( PATH=$PATH
/usr/bin/env bundle install --binstubs
/var/rails_apps/neiltonge/shared/bin --path
/var/rails_apps/neiltonge/shared/bundle --without development test
--deployment --quiet ) DEBUG [18d5838c]     /usr/bin/env: bundle: No such file or directory

e este é o meu$PATH:

/usr/local/rbenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Por que o pacote não pode ser localizado?

questionAnswers(5)

yourAnswerToTheQuestion