【发布时间】:2016-09-26 00:48:53
【问题描述】:
我目前正在使用 Capistrano-rbenv 部署一个应用程序。我尝试托管的服务器已经设置并运行了多个应用程序。对于使用 ruby 版本管理器 rbenv,已经有多个版本的 ruby 设置,全局版本设置为 ruby "1.8.7"。我正在部署的当前应用程序现在使用 ruby 2.1.5。我已经安装了所需的 ruby 版本,当我尝试部署 w.r.t 环境时,会发生发布,但是当 assets:precompile 发生时,就会出现问题。预编译 bundler gem 时取自 global gem set 版本,而不是取自 2.1.5 ruby gems。下面我已经提到了错误以及我当前的设置。
error:
/usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/spec_set.rb:92:in `materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/spec_set.rb:85:in `map!'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/spec_set.rb:85:in `materialize'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/definition.rb:132:in `specs'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/definition.rb:177:in `specs_for'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/definition.rb:166:in `requested_specs'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/environment.rb:18:in `requested_specs'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/runtime.rb:13:in `setup'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler.rb:122:in `setup'
from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/setup.rb:18
deploy.rb setup
# Server
# set :default_environment, {
# path: '/home/deployer/.rbenv/shims:/home/deployer/.rbenv/bin',
# rbenv_root: '/home/deployer/.rbenv'
# }
set :user, 'deployer'
set :rbenv_type, :user
#set :bundle_dir, "/home/deployer/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0"
set :rbenv_ruby, '2.1.5'
# set :rbenv_ruby_dir, '/home/deployer/.rbenv/versions/2.1.5'
# set :bundle_cmd, "#{release_path}/bin/bundle"
# set :rbenv_custom_path, '/home/deployer/.rbenv'
set :rbenv_path, '/home/deployer/.rbenv'
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec"
但是当我尝试在任何一个版本中从发布文件夹捆绑时,它运行良好,没有任何错误。我做错了什么?
我无法在服务器上将 2.1.5 设置为全局,因为许多其他应用程序都依赖它。
任何建议都会有所帮助。
提前致谢。
【问题讨论】:
标签: ruby-on-rails-4 deployment capistrano rbenv