Требуется 'Bundler / Capistrano' Разрывы развертывания Capistrano - PullRequest
3 голосов
/ 28 февраля 2011

Моя проблема идентична этой: требуют разрывов 'bundler / capistrano' capistrano

За исключением случаев, когда я использую правильные версии ruby.

Я добавил эту строкув моем deploy.rb:

require 'bundler/capistrano'

И получаю следующую ошибку:

/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:152:in `require': no such file to load -- bundler/capistrano (LoadError)

Вот информация:

Craig:/usr/local/src/hammer$ gem which bundler
/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo/gems/bundler-1.0.10/lib/bundler.rb

Craig:/usr/local/src/hammer$ gem which capistrano
/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo/gems/capistrano-2.5.19/lib/capistrano.rb

Craig:/usr/local/src/hammer$ ruby --version
ruby 1.9.2p174 (2011-01-28 revision 30696) [i386-darwin9.8.0]

Craig:/usr/local/src/hammer$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.5.2
  - RUBY VERSION: 1.9.2 (2011-01-28 patchlevel 174) [i386-darwin9.8.0]
  - INSTALLATION DIRECTORY: /Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo
  - RUBY EXECUTABLE: /Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-9
  - GEM PATHS:
     - /Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo
     - /Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
    ruby 1.9.2p174 (2011-01-28 revision 30696) [i386-darwin9.8.0]

Craig:/usr/local/src/hammer$ rvm info

ruby-1.9.2-head@foo:

  system:
    uname:       "Darwin craig-a-flannagans-macbook-pro.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386"
    bash:        "/bin/bash => GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)"
    zsh:         "/bin/zsh => zsh 4.3.4 (i386-apple-darwin9.0)"

  rvm:
    version:      "rvm 1.2.6 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.9.2p174"
    date:         "2011-01-28"
    platform:     "i386-darwin9.8.0"
    patchlevel:   "2011-01-28 revision 30696"
    full_version: "ruby 1.9.2p174 (2011-01-28 revision 30696) [i386-darwin9.8.0]"

  homes:
    gem:          "/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo"
    ruby:         "/Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head"

  binaries:
    ruby:         "/Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head/bin/ruby"
    irb:          "/Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head/bin/irb"
    gem:          "/Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head/bin/gem"
    rake:         "/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo/bin/rake"

  environment:
    PATH:         "/Users/craigflannagan/.rvm/gems/ruby-1.9.2-   head@foo/bin:/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@global/bin:/Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head/bin:/Users/craigflannagan/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/git/bin"
    GEM_HOME:     "/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo"
    GEM_PATH:     "/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@foo:/Users/craigflannagan/.rvm/gems/ruby-1.9.2-head@global"
    MY_RUBY_HOME: "/Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head"
    IRBRC:        "/Users/craigflannagan/.rvm/rubies/ruby-1.9.2-head/.irbrc"
    RUBYOPT:      ""
    gemset:       "foo"

Использовали capistrano и упаковщик вдругие проекты, но я относительно новичок в настройке рецепта капистрано, а также в использовании RVM.

Заранее благодарен за любую помощь в выяснении, что здесь не так.

ОБНОВЛЕНИЕ:

Попробовал случайное решение, которое я нашел в Интернете здесь http://www.mattvsworld.com/blog/2010/03/rails-3-bundler-capistrano/

Если я вытащу запрос 'bundler / capistrano' и вставлю его вместо этого в конце deploy.rb:

namespace :bundler do
  task :create_symlink, :roles => :app do
    shared_dir = File.join(shared_path, 'bundle')
    release_dir = File.join(current_release, '.bundle')
    run("mkdir -p #{shared_dir} && ln -s #{shared_dir} #{release_dir}")
  end
  task :bundle_new_release, :roles => :app do
    bundler.create_symlink
    run "cd #{release_path} && bundle install --without test"
  end
end
after 'deploy:update_code', 'bundler:bundle_new_release'

Это работает - развертывание выполняет все, включая установку пакета.Любые идеи, почему упрощенное решение «требуют« пакет / капистрано »» не будет работать для меня?

1 Ответ

1 голос
/ 11 мая 2011

У меня была похожая проблема, и я решил ее, обновив bundler до версии 1.0.13 с 1.0.0.rc.3, которая была у меня ранее.

...