(cap3,rails4,使用capistrano-rvm)
$ cap production deploy --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke deploy:set_rails_env (first_time)
** Execute deploy:set_rails_env
** Invoke deploy:set_rails_env
** Invoke rvm:hook (first_time)
** Execute rvm:hook
** Invoke rvm:check (first_time)
** Execute rvm:check
DEBUG [954551b1] Running ~/.rvm/bin/rvm version as myuser@myip
DEBUG [954551b1] Command: ~/.rvm/bin/rvm version
DEBUG [954551b1] bash: /opt/myuser/.rvm/bin/rvm: No such file or directory
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as myuser@myip: rvm exit status: 127
rvm stdout: Nothing written
rvm stderr: bash: /opt/myuser/.rvm/bin/rvm: No such file or directory
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:16:in `rescue in block (2 levels) in execute'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
SSHKit::Command::Failed: rvm exit status: 127
rvm stdout: Nothing written
rvm stderr: bash: /opt/myuser/.rvm/bin/rvm: No such file or directory
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/command.rb:95:in `exit_status='
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:179:in `block in _execute'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `tap'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `_execute'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:77:in `capture'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:9:in `block (3 levels) in <top (required)>'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/joelnylund/.rvm/gems/ruby-2.0.0-p353/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
Tasks: TOP => rvm:check
在某些时候我确实安装了一个新的ruby,但这似乎工作正常,rvm在服务器上工作正常:
$ which rvm
/usr/local/rvm/bin/rvm
和
$ rvm list
rvm rubies
=* ruby-2.0.0-p643 [ x86_64 ]
ruby-2.1.2 [ x86_64 ]
我尝试过添加到deploy.rb:
set :rvm_type, 'system' set :rvm_bin_path, '/usr/local/rvm/bin/'
有什么想法吗?