gpt4 book ai didi

ruby-on-rails - 无法让 bundle exec 在生产中工作

转载 作者:行者123 更新时间:2023-12-03 14:57:49 25 4
gpt4 key购买 nike

我已经在生产中安装了我的 gems:

cd /app/releases/current && bundle install --gemfile /app/releases/current/Gemfile --path /app/shared/bundle --deployment --quiet --without development test

我不能 bundle exec我的任何 gem (除了 rakegem ):
$ bundle exec whenever
bundler: command not found: whenever
Install missing gem executables with `bundle install`

gems 正确安装在/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。

我必须要 bundle install我的 gem 与 --binstubs选项?为什么不 bundle exec正在搜索存储的 BUNDLE_PATH ?

最佳答案

使用 Capistrano 和 Rails 并使用 deploy.rb 作为部署程序文件。

我意识到改变出现的顺序require "whenever/capistrano"真的很重要。我几乎把它放在最后一行:

在 deploy.rb 中:

#first lines:
set :rvm_ruby_string, "1.9.3"
set :rvm_type, :user
set :whenever_command, "bundle exec whenever"

# others...

# last lines
require 'rvm/capistrano'
require 'bundler/capistrano'
require "whenever/capistrano"

after "deploy:update_code", "customs:config"
after "deploy:create_symlink","deploy:create_symlink"
after "deploy", "deploy:cleanup"

load 'deploy/assets'
# end

关于ruby-on-rails - 无法让 bundle exec 在生产中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8237637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com