簡體   English   中英

要求'bundler / capistrano'打破capistrano部署

[英]require 'bundler/capistrano' breaks capistrano deployment

我的問題與此相同: 要求'bundler / capistrano'打破capistrano

除了它似乎我使用正確的紅寶石版本。

我在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和bundler,但是設置capistrano receipe以及使用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'

它工作 - 部署完成所有事情,包括捆綁安裝。 任何想法為什么簡化的“require'bundler / capistrano'”解決方案對我不起作用?

我有類似的問題,並通過從早先的1.0.0.rc.3更新捆綁器到版本1.0.13來解決它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM