【问题标题】:Capistrano deployment With rbenvCapistrano 部署 使用 rbenv
【发布时间】: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


    【解决方案1】:

    在你的应用路径中创建一个.ruby-version 文件怎么样?

    cd /path/to/app/
    echo 2.1.5 > .ruby-version
    ruby -v
    bundle install
    

    签入更改并尝试再次部署。

    【讨论】:

    • 现在也试过了。但是我在我的应用程序中使用的 Capistrano-rails gem 的问题,由于某种原因它不允许我选择路径。但是任何方式都感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 2016-10-02
    • 2023-03-08
    • 1970-01-01
    • 2013-08-05
    • 2018-01-01
    相关资源
    最近更新 更多