首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >capistrano部署SSHKit::命令::Failed: bundle退出状态

capistrano部署SSHKit::命令::Failed: bundle退出状态
EN

Stack Overflow用户
提问于 2014-05-29 10:17:37
回答 1查看 3.8K关注 0票数 1

执行命令cap production deply 获取错误时的:

代码语言:javascript
复制
DEBUG [fbb1a838]    Warning, new version of rvm available '1.25.26', you are using older version '1.25.25'.
DEBUG [fbb1a838]    You can disable this warning with:    echo rvm_autoupdate_flag=0 >> ~/.rvmrc
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]    /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:247:in `to_specs'
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]    : 
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]    Could not find bundler (>= 0) amongst [gem-wrappers-1.2.4]
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]     (
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]    Gem::LoadError
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]    )
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]        from /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]        from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:1208:in `gem'
DEBUG [fbb1a838]    You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc
DEBUG [fbb1a838]        from /usr/local/bin/bundle:18
cap aborted!
SSHKit::Command::Failed: bundle exit status: 1
bundle stdout: Nothing written
bundle stderr: /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find bundler (>= 0) amongst [gem-wrappers-1.2.4] (Gem::LoadError)
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:1208:in `gem'
    from /usr/local/bin/bundle:18
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/command.rb:98:in `exit_status='
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:142:in `block (4 levels) in _execute'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:551:in `call'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:551:in `do_request'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:561:in `channel_request'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:221:in `preprocess'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:205:in `process'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `block in loop'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:269:in `wait'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:164:in `block (2 levels) in _execute'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:514:in `call'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:514:in `do_open_confirmation'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:545:in `channel_open_confirmation'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:221:in `preprocess'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:205:in `process'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `block in loop'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:166:in `block in _execute'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:123:in `tap'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:123:in `_execute'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:66:in `execute'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/capistrano-bundler-1.1.2/lib/capistrano/tasks/bundler.cap:30:in `block (5 levels) in <top (required)>'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/abstract.rb:89:in `with'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/capistrano-bundler-1.1.2/lib/capistrano/tasks/bundler.cap:22:in `block (4 levels) in <top (required)>'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/abstract.rb:81:in `within'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/capistrano-bundler-1.1.2/lib/capistrano/tasks/bundler.cap:21:in `block (3 levels) in <top (required)>'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/backends/netssh.rb:54:in `run'
/home/afzal/.rvm/gems/ruby-1.9.3-p545/gems/sshkit-1.4.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => deploy:updated => bundler:install
(See full trace by running task with --trace)
The deploy has failed with an error: #<SSHKit::Command::Failed: bundle exit status: 1
bundle stdout: Nothing written
bundle stderr: /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find bundler (>= 0) amongst [gem-wrappers-1.2.4] (Gem::LoadError)
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:1208:in `gem'
    from /usr/local/bin/bundle:18
>

,这是我的production.rb

代码语言:javascript
复制
 role :app, %w{root@ip.ip.ip.ip}
 role :web, %w{root@ip.ip.ip.ip}
 role :db,  %w{root@ip.ip.ip.ip}
 set :stage, :production

 server 'ip.ip.ip.ip', user: 'root', roles: %w{web app db}

 set :ssh_options, {
    forward_agent: true,
    user: 'root',
 }

,这是我的deploy.rb

代码语言:javascript
复制
 set :application, "ip.ip.ip.ip"
 role :app, "ip.ip.ip.ip"
 role :web, "ip.ip.ip.ip"
 role :db,  "ip.ip.ip.ip", :primary => true

 set :user, "deploy"
 set :deploy_to, "/var/www"
 set :deploy_via, :remote_cache
 set :use_sudo, false

 set :scm, "git"
 set :repo_url, "git://github.com/path/to.git"
 set :branch, "master"
 set :keep_releases, 5

 SSHKit.config.command_map[:rake]  = "bundle exec rake"
 SSHKit.config.command_map[:rails] = "bundle exec rails"
 set :rvm_type, :system
 set :default_shell, "/home/user/.rvm/bin/rvm-shell -l"

 set :default_environment, {
   'PATH' => "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:$PATH",
   "RUBY_VERSION" => "ruby 1.9.3",
   "GEM_HOME" => "/usr/local/lib/ruby/gems/1.9.1/gems",
   "GEM_PATH" => "/usr/local/lib/ruby/gems/1.9.1/gems",
   "BUNDLE_PATH" => "/usr/local/lib/ruby/gems/1.9.1/gems"
 }

 set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"")

 namespace :deploy do
   desc "Tell Passenger to restart the app."
   task :restart do
     on "root@ip.ip.ip.ip" do
       execute "touch #{current_path}/tmp/restart.txt"
     end
   end

   desc "Symlink shared configs and folders on each release."
   task :symlink_shared do
     on "root@ip.ip.ip.ip" do
       execute "ln -nfs #{shared_path}/config/database.yml #> {release_path}/config/database.yml"
      execute "ln -nfs #{shared_path}/assets #{release_path}/public/assets"
    end  
  end


  desc "Sync the public/assets directory."
  task :assets do
    on "root@ip.ip.ip.ip" do
      system "rsync -vr --exclude='.DS_Store' public/assets root@ip.ip.ip.ip:#{shared_path}/"
    end
  end
 end

 after :deploy, 'deploy:symlink_shared'
 after :deploy, "deploy:restart"
EN

回答 1

Stack Overflow用户

发布于 2015-09-30 23:15:33

根据您要从哪个存储库中提取Ruby安装和更新,可能会有一个命令在服务器上可用或安装的Ruby版本之间切换。例如,如果使用Brightbox (假设您已登录到服务器):

$ sudo apt-获取安装红宝石开关

$ ruby -v ruby 1.8.7 (2012-02-08 MBARI8/0x8770 on patchlevel 358) i 486-linux,MBARI0x8770,2012.02

$ruby-开关--列出1.8卢比1.9.1卢比2.0卢比2.1卢比2.2卢比

$ sudo ruby开关-设置ruby 1.9.1更新-替代品:使用/usr/bin/ruby1.9.1在手动模式下提供/usr/bin/ruby (ruby)。update-替代品:使用/usr/bin/gem 1.9.1在手动模式下提供/usr/bin/gem (gem)。`

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23930982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档