Ich versuche, Bundler auf meinem VPS mit Ansible zu installieren.Installieren Bundler Gem mit Ansible
Ich habe bereits rbenv eingerichtet und der globale Ruby ist 2.1.0.
Wenn ich SSH als root in den Server und laufen, installiert es perfekt.
Ich habe versucht die folgenden drei Möglichkeiten der Verwendung von Ansible, um den Bundler Juwel zu installieren und alle drei produzieren keine Fehler, aber wenn ich SSH in und gem list
laufen, ist Bundler nirgendwo zu sehen.
Versuch 1:
---
- name: Install Bundler
shell: gem install bundler
Versuch 2:
---
- name: Install Bundler
shell: gem install bundler
Versuch 3:
---
- name: Install Bundler
gem: name=bundler
state=latest
Ich habe auch versucht, den letzten Versuch mit user_install=yes
und auch mit user_install=no
und weder machen jede Differenz.
Irgendwelche Ideen, wie ich Bundler korrekt über Ansible installieren kann?
Ich habe schon eine Weile daran gearbeitet und ich habe 1 Ruby-Version installiert: 2.1.0 und habe herausgefunden, dass das Shims-Verzeichnis für rbenv keine Shim für bundle
enthält.
Sollte ein Shim für bundle
da drin sein? Ich bin nur verwirrt darüber, warum capistrano den bundle
Befehl nicht finden kann, wie es aufgeführt wird, wenn ich sudo gem list
laufen lasse, aber NICHT, wenn ich gem list
laufen lasse?
[email protected]:/usr/local/rbenv/shims# echo $PATH
/usr/local/rbenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[email protected]:/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
Irgendwelche Ideen?
Also, ich glaube, die beiden wichtigsten Probleme, die ich habe:
Warum ist bundler nur sichtbar, wenn ich
sudo gem list
laufen?Mein deploy sagt:
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
und das ist mein
$PATH
:/usr/local/rbenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Warum nicht gefunden werden bündeln?
Richtig Ich habe festgestellt, dass das Ausführen von "Gem List" Bundler nicht zeigt, aber "Sudo Gem List" tut! Warum sollte das und wo sollte das Juwel sein, damit Capistrano es benutzen kann? – rctneil