【发布时间】:2011-11-23 05:16:02
【问题描述】:
我已经在生产环境中安装了我的 gems:
cd /app/releases/current && bundle install --gemfile /app/releases/current/Gemfile --path /app/shared/bundle --deployment --quiet --without development test
我不能 bundle exec 我的任何宝石(rake 和 gem 除外):
$ bundle exec whenever
bundler: command not found: whenever
Install missing gem executables with `bundle install`
gem 已正确安装在 /app/shared/bundle 中:
$ cd /app/shared
$ find . -name whenever
./bundle/ruby/1.9.1/gems/whenever-0.6.8/bin/whenever
./bundle/ruby/1.9.1/gems/whenever-0.6.8/lib/whenever
我的(生成的)包配置(在 /app/current/.bundle/config 中)是:
---
BUNDLE_FROZEN: "1"
BUNDLE_PATH: /app/shared/bundle
BUNDLE_DISABLE_SHARED_GEMS: "1"
BUNDLE_WITHOUT: development:test
我正在运行 ruby 1.9.2p290,手动安装到 /usr/local/bin。
我必须使用--binstubs 选项来bundle install 我的宝石吗?为什么bundle exec 不会搜索存储的BUNDLE_PATH?
【问题讨论】:
-
我遇到了类似的问题,我用
bundle install --deployment解决了这个问题。我不确定为什么会起作用,所以这就是为什么这是评论而不是答案。 -
我的 capistrano 任务在运行
bundle install时包含--deployment参数。你是这个意思吗?还是您的意思是,删除--path参数? -
您是在使用 capistrano 还是在进行手动部署?
-
我正在使用 Capistrano 进行部署,通过要求
bundler/capistrano使用内置的 Bundler 助手。这就是在我的问题中生成bundle install命令的原因。 -
bundle show是否列出了生产中的whenevergem?
标签: ruby-on-rails rubygems bundler