Установите Gem Bundler с помощью Ansible

Я пытаюсь установить Bundler на свой VPS с помощью Ansible.

Я уже настроил rbenv, а глобальный ruby ​​- 2.1.0.

Если я SSH как root в сервер и запуститьgem install bundler, он устанавливает отлично.

Я попробовал следующие три способа использования Ansible для установки гема Bundler, и все три не выдают ошибок, но когда я запускаю и запускаю SSHgem listБандлера нигде не было видно.

Попытка 1:

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

Попытка 2:

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

Попытка 3:

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

Я также попробовал последнюю попытку сuser_install=yes а также сuser_install=no и ни то, ни другое.

Любые идеи, как я могу заставить его установить Bundler правильно через Ansible?

Я немного поработал над этим сейчас, и у меня установлена ​​1 версия ruby: 2.1.0, и он обнаружил, что каталог shims для rbenv не содержит shim дляbundle.

Должна прокладка дляbundle быть там? Я просто запутался, почему Капистрано не может найтиbundle команда, как это указано в списке, когда я бегуsudo gem list но НЕ когда я бегуgem 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

Есть идеи?

Итак, я думаю, что две основные проблемы у меня есть:

Почему упаковщик виден только при запускеsudo gem list?

Мое развертывание говорит:

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

а это мой$PATH:

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

Почему пакет не может быть расположен?

Ответы на вопрос(5)

Ваш ответ на вопрос