使用 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/