Saltstack找不到捆绑

也许我不明白cmd是如何工作的,但是这里是我正在使用的一些configuration。 这曾经是一个jruby安装,但我们正在转向MRI,因此jruby用户名:

/home/jruby/tmp/rvm-install.tgz: file.managed: - source: salt://canned/rvm-1.26.11-install_files.tgz - makedirs: True - user: jruby - group: jruby - mode: 0644 - require: - user: jruby rvm-install: cmd.run: - name: "tar xzf tmp/rvm-install.tgz" - cwd: /home/jruby - shell: /bin/bash - user: jruby - group: jruby - require: - pkg: ruby-deps - file: /home/jruby/tmp/rvm-install.tgz bash-init: file.append: - name: /home/jruby/.bash_profile - user: jruby - group: jruby - text: - '[[ -r $HOME/.rvm/scripts/rvm ]] && . "$HOME/.rvm/scripts/rvm"' - "export RACK_ENV={{ grains[ 'rack_env' ] }}" - "export GITHUB_BRANCH={{ grains[ 'github'] }}" - require: - cmd: rvm-install ruby-223: cmd.run: - name: "cd /home/jruby/api && rvm install ruby-2.2.3" - shell: /bin/bash - user: jruby - group: jruby - require: - file: bash-init bundler-install: cmd.run: - name: "cd /home/jruby/api && gem install bundler && bundle install" - cwd: /home/jruby/api - user: jruby - group: jruby - shell: /bin/bash - require: - cmd: ruby-223 - git: jruby-api-source 

这是salt-highstate.log,特别是在崩溃的地方。 我不知道如何gem安装捆绑器将成功,但然后捆绑安装将失败(/ home / jruby / api是检出git回购的地方)。 由于rvm需要cd来更新path,我在那里添加一个cd。

  ID: bundler-install Function: cmd.run Name: cd /home/jruby/api && gem install bundler && bundle install Result: False Comment: Command "cd /home/jruby/api && gem install bundler && bundle install" run Started: 21:26:52.595969 Duration: 6576.993 ms Changes: ---------- pid: 21192 retcode: 1 stderr: /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- io/console (LoadError) from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/lib/bundler/vendor/thor/lib/thor/shell/basic.rb:2:in `<top (required)>' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/lib/bundler/ui/shell.rb:12:in `initialize' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/lib/bundler/cli.rb:12:in `new' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/lib/bundler/cli.rb:12:in `rescue in start' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/lib/bundler/cli.rb:10:in `start' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/exe/bundle:19:in `block in <top (required)>' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/lib/bundler/friendly_errors.rb:7:in `with_friendly_errors' from /home/jruby/.gem/ruby/2.0/gems/bundler-1.11.2/exe/bundle:17:in `<top (required)>' from /home/jruby/bin/bundle:23:in `load' from /home/jruby/bin/bundle:23:in `<main>' stdout: Successfully installed bundler-1.11.2 Parsing documentation for bundler-1.11.2 Installing ri documentation for bundler-1.11.2 Done installing documentation for bundler after 4 seconds 1 gem installed 

你最好使用rvm状态,然后通过所有的命令逻辑

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.rvm.html