我最近将 Ruby on Rails 应用程序从 Ruby 版本 2.5.1 更新到了 3.0.4。我确保更新了 deploy.rb 和 config/deploy/production.rb 文件中的 Ruby 版本。但是,当我尝试使用 cap production deploy 命令部署应用程序时,Capistrano 仍在使用旧的 Ruby 版本 (2.5.1),并且遇到以下错误:
rvm 1.29.9 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
ruby-2.5.1
ruby exit status: 1 (SSHKit::Runner::ExecuteError)
ruby stdout: Nothing written
ruby stderr: Unknown ruby interpreter version (do not know how to handle): 3.0.4.
Unknown ruby interpreter version (do not know how to handle): 3.0.4.
Ruby 3.0.4 is not installed.
我已经确认服务器上安装了Ruby 3.0.4。是什么导致 Capistrano 忽略更新的 Ruby 版本以及如何解决此问题?
任何遇到此问题并使用 RVM 的人。试试
rvm use --default NEW_VERSION
也许 capistrano 使用的是 RVM 默认 ruby 版本,因此如果您卸载或删除了以前的版本,只需使用新版本更新默认值即可。