使用 capistrano 和 rvm 更改 Ruby 和 Rails 版本

Changing Ruby and Rails version with capistrano and rvm

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

比如我要改成deploy.rbset :rvm_ruby_version, '2.4.0@5.1',还有什么?

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

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

我已经尝试了 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 版本