首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要'bundler/ capistrano‘中断capistrano部署

需要'bundler/ capistrano‘中断capistrano部署
EN

Stack Overflow用户
提问于 2011-02-28 09:24:41
回答 1查看 2.2K关注 0票数 3

我的问题与此相同:require 'bundler/capistrano' breaks capistrano

除了它似乎我使用的是正确的ruby版本。

我在我的deploy.rb中添加了这一行:

代码语言:javascript
复制
require 'bundler/capistrano'

并得到以下错误:

代码语言:javascript
复制
/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)

以下是信息:

代码语言:javascript
复制
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相对较新。

提前感谢您帮助我们找出这里的问题所在。

更新:

我尝试了一个我在web here http://www.mattvsworld.com/blog/2010/03/rails-3-bundler-capistrano/上找到的随机解决方案

如果我去掉了需要'bundler/capistrano‘并把它放在deploy.rb的末尾:

代码语言:javascript
复制
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'

它是有效的-部署可以做所有的事情,包括包安装。你知道为什么简化的“需要'bundler/capistrano'”解决方案对我不起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2011-05-11 19:10:08

我遇到了类似的问题,并通过将bundler从之前的1.0.0.rc.3更新到版本1.0.13得到了解决。

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

https://stackoverflow.com/questions/5137378

复制
相关文章

相似问题

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