ruby-on-rails-5 - 使用 capistrano 和 rvm 更改 Ruby 和 Rails 版本

标签 ruby-on-rails-5 capistrano3

使用 rmv 更改 ruby​​ 和 rails 版本时,更改项目配置的正确步骤是什么。

例如,我必须更改 deploy.rb set :rvm_ruby_version, '2.4.0@5.1',但还有什么?

我无法让 Capistrano 使用正确的 rvm gemset,并且总是尝试使用旧的 rvm gemset bundle install

我是否必须更改生产服务器中的某些内容?我认为是这样,但按照某种顺序,在部署之前和部署之后进行一些其他更改......?

我已经尝试了 capistrano-rvm、rvm-capistrano,最后是 rvm1-capistrano3

当我运行 cap production depoly 时,我得到了这些错误,都围绕着“Could not determine which Ruby to use

 DEBUG [e2eccae9] Running /home/rails/www/digitalshelving/rvm1scripts/rvm-auto.sh . bundle check --path /home/rails/www/digitalshelving/shared/bundle as rails@46.101.100.14

 DEBUG [e2eccae9] Command: cd /home/rails/www/digitalshelving/releases/20180303130204 && /home/rails/www/digitalshelving/rvm1scripts/rvm-auto.sh . bundle check --path /home/rails/www/digitalshelving/shared/bundle

 DEBUG [e2eccae9]   Could not determine which Ruby to use; . should contain .rvmrc or .versions.conf or .ruby-version or .rbfu-version or .rbenv-version, or an appropriate line in Gemfile.

 DEBUG [e2eccae9]   Can not find ruby for '.'.

 DEBUG [e2eccae9] Finished in 0.684 seconds with exit status 103 (failed).

  INFO [c22dc933] Running /home/rails/www/digitalshelving/rvm1scripts/rvm-auto.sh . bundle install --path /home/rails/www/digitalshelving/shared/bundle --without development test --deployment --quiet as rails@46.101.100.14

 DEBUG [c22dc933] Command: cd /home/rails/www/digitalshelving/releases/20180303130204 && /home/rails/www/digitalshelving/rvm1scripts/rvm-auto.sh . bundle install --path /home/rails/www/digitalshelving/shared/bundle --without development test --deployment --quiet

 DEBUG [c22dc933]   Could not determine which Ruby to use; . should contain .rvmrc or .versions.conf or .ruby-version or .rbfu-version or .rbenv-version, or an appropriate line in Gemfile.

 DEBUG [c22dc933]   Can not find ruby for '.'.

谢谢

最佳答案

Rails.root 中创建名称为 .ruby-version 并包含以下内容的文件:

2.3.3

或者你想要的任何版本。当您或 capistrano cd 到根文件夹时,rvm 将根据文件内容更改 ruby​​ 版本

关于ruby-on-rails-5 - 使用 capistrano 和 rvm 更改 Ruby 和 Rails 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49077450/

相关文章:

ruby-on-rails - Capistrano 3 进程失败

ruby-on-rails - 找不到 libxml2 的包配置

ruby-on-rails - rails : Query parents with grandchildren (associations)

ruby-on-rails - ActionController::Parameters 弃用警告:方法大小已弃用,将在 Rails 5.1 中删除

ruby-on-rails - 带有 Capistrano 的 Bundler 不会为 DelayedJob 生成二进制文件

ruby-on-rails - 由于 key 类型不受支持,无法将 Rails 应用部署到 DigitalOcean

ruby-on-rails - capistrano + sidekiq/无法选择环境变量

ruby-on-rails - rspec/测试 after_action

ruby-on-rails - 最近的价格和 will_paginate

ruby-on-rails - 无法使用 Capistrano 3.2.1 部署到远程服务器。验证 git repo 时出错