Techioz Blog

Capistrano が 2.5.1 から 3.0.4 にアップデートした後に古い Ruby バージョンを選択する

概要

最近、Ruby on Rails アプリケーションを Ruby バージョン 2.5.1 から 3.0.4 に更新しました。必ず、deploy.rb ファイルと config/deploy/production.rb ファイル内の Ruby バージョンを更新してください。ただし、capproductiondeploy コマンドを使用してアプリケーションをデプロイしようとすると、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 を使用してみてください –default NEW_VERSION

おそらく、capistrano は RVM のデフォルトの Ruby バージョンを使用しているため、前のバージョンをアンインストールまたは削除した場合は、デフォルトを新しいバージョンで更新するだけです。