【问题标题】:how can I make rvm create my gemset at capistrano deploy?如何让 rvm 在 capistrano deploy 创建我的 gemset?
【发布时间】:2012-05-07 18:35:10
【问题描述】:

我正在尝试使用 capistrano 来创建我的 rvm gemset。

我使用 rvm-capistrano gem。

即使我在设置时明确尝试创建它,capistrano shell 命令看起来像这样:

rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3-p194@vatax' -c 'rvm use 1.9.3-p194@vatax --create'

显然失败并显示错误消息:

Gemset 'vatax' does not exist, 'rvm gemset create vatax' first, or append '--create'

事实上,我希望 gem 能够为我创建 gemset,但至少我想使用非 rvm shell 在 capistrano 中创建 gemset。

【问题讨论】:

    标签: ruby-on-rails deployment gem rvm capistrano


    【解决方案1】:

    这在 gem 中尚不支持,有一张票可以添加对它的支持 - https://github.com/wayneeseguin/rvm-capistrano/issues/8

    现在您可以使用安装 ruby​​ 的任务,它还需要注意创建 gemset,当 ruby​​ 已经安装时,它只会创建 gemset:

    before 'deploy', 'rvm:install_ruby'
    

    您可以在 RVM 文档中找到更多信息:https://rvm.io/integration/capistrano/

    【讨论】:

    • 好吧,我的部署 rb 中确实有这一行,但在使用 deploy:cold 时它没有创建 gemset。如果我在“部署:更新”之前说,它适用于部署:冷和部署。
    【解决方案2】:

    看起来像 2013-01-07,你可以这样做:

    before 'deploy', 'rvm:create_gemset'
    

    https://github.com/wayneeseguin/rvm-capistrano/issues/8

    【讨论】:

      【解决方案3】:

      我通常为我部署的每个应用程序创建一个 gemset,所以我需要创建多个 gemset。我就是这样做的:

      set :application, 'my-application-name'
      set :user, 'my-username'
      run "~#{user}/.rvm/bin/rvm gemset create #{application}"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-08
        • 1970-01-01
        • 1970-01-01
        • 2013-06-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多