Rails 5.2 でも最新の Ruby LSP を使う方法|定義ジャンプが“飛べる”開発環境へ
Rails 5.2 の保守でこんなストレス、抱えていませんか?
「毎日“飛べない”定義ジャンプにイライラしているあなたへ」
Rails 5.2 + Ruby 2.7 のレガシー環境では、VS Code の Ruby LSP がうまく動かず、 定義ジャンプが機能しない、補完が弱い、コードリーディングの効率が極端に悪い… そんな状況に心当たりはありませんか?
「たった一行の調査に数分かかる苦痛を終わらせたい」
model、service、moduleが複雑に絡み合う Rails 5.2 の大規模アプリでは、 1つのメソッドの依存元や関連箇所を調べるだけで数分、ひどい時には数十分かかってしまうこともあります。 そこに補完・ジャンプが弱いという環境が重なると、日々の作業がどんどん重く、精神的な負担になっていきます。
「Rails 5.2 の保守だけで疲弊し、自分の成長が止まったように感じる」
本来はエンジニアとしてスキルを伸ばしたいのに、古いRailsの調査作業に時間を取られ続け、 新しい技術に触れる余力すら失われていく… これは多くのRails保守エンジニアが抱える“隠れた悩み”です。
実はこれ、Rails 5.2 をアップグレードせずに解消できます。
Rails 5.2 のようなレガシー環境では、Ruby LSP が Ruby 3.x を前提としているため、 Ruby 2.7 では LSP が起動しない/異常動作するという問題が頻繁に発生します。 その結果、VS Code での開発体験は最新の Rails 7 とは比べ物にならないほど低下し、 調査・改修・障害解析のすべてが非効率になります。
しかし、アプリ側には一切手を入れず、Ruby LSP を プロジェクトとは独立したフォルダにインストールし、新しい Ruby で動かす という構成に切り替えることで、Rails 5.2 でも 最新環境に近いコード補完・定義ジャンプ・解析体験を実現できます。
今の開発体験を諦める必要はありません。 Rails 5.2 のままでも、VS Code と Ruby LSP を“正しく”設定すれば、 「飛べる」「補完が効く」「調査が速い」環境を手に入れられます。
古いRails(Ruby 2.7 / Rails 5.2)でもRuby LSPを使う方法
ここからは、実際に Ruby LSP を最新Rubyで動かし、古いRailsプロジェクトに快適な開発体験を持ち込むための手順を解説します。 VS Codeを前提としています。
1. Ruby LSP専用フォルダを作る(アプリとは分離)
mkdir -p ~/dev/ruby-tools
cd ~/dev/ruby-tools
echo "3.2.2" > .ruby-version
Ruby 3.x を利用できるようにしておきます。
2. Gemfile を作成し Ruby LSP をインストール
# ~/dev/ruby-tools/Gemfile
source "https://rubygems.org"
gem "ruby-lsp"
gem "ruby-lsp-rails"
gem "ruby-lsp-rspec"
3. bundle install を実行
bundle install
4. VS Code に Ruby LSP 拡張をインストール
拡張マーケットプレイスで Shopify.ruby-lsp をインストールします。
5. VS Code の設定で “別フォルダのGemfile” を参照させる
{
"rubyLsp.bundleGemfile": "/Users/yourname/dev/ruby-tools/Gemfile",
"[ruby]": {
"editor.defaultFormatter": "Shopify.ruby-lsp",
"editor.formatOnSave": true
}
}
6. Rails 5.2 プロジェクトで Ruby LSP が動くことを確認
- VS CodeでRails 5.2のプロジェクトを開く
- コマンドパレットから「Ruby LSP: Start」を実行
- 補完・ジャンプ・診断が正常に動けば成功
まとめ:レガシー環境でも“現代的な開発体験”を手に入れる
Rails 5.2 や Ruby 2.7 のような古い環境でも、Ruby LSP を独立フォルダで動かすだけで、 驚くほど快適な開発体験を取り戻せます。
バージョンアップできない事情があっても、まずはエディタから改善してみませんか?
よくある質問(FAQ)
Rails 5.2 でも Ruby LSP を使えますか?
はい。Ruby LSP をプロジェクト外フォルダで Ruby 3.x と一緒にインストールし、VS Code 設定でその Gemfile を参照すると使えます。
なぜ Ruby 2.7 では Ruby LSP が動かないのですか?
Ruby LSP が Ruby 3.x 系の構文・型解析を前提に設計されているためです。
Rails をアップグレードせず開発体験だけ改善できますか?
できます。LSP を外出しすればコード補完・定義ジャンプが大幅に向上します。
VS Code で Ruby の補完が弱いのはなぜですか?
Ruby LSP が正しくロードされていない、Ruby バージョンが適合していないなどが主な原因です。
ご質問・ご相談などありましたら
気軽にお問い合わせください

