Closed7

Rubyの開発環境導入メモ

tenkohtenkoh

お仕事でRubyにかかわりそうだったので簡単に復習しておく。そのために簡単でよいので開発環境を導入しておこうー。

tenkohtenkoh

前提条件:

  • Windows Pro 11
  • WSL2 (Ubuntu 22.04)
  • Visual Studio Code

どこまでがっつりやるか分からないのでWindowsに直には入れたくない。WSL2上にRuby開発環境を整えてVSCodeからリモートアクセスすることにします。

tenkohtenkoh

WSL2上でRubyを入れる。
バージョン切り替えのツールを使っても良さそうな説を見かけますが、とりあえず簡単に環境を作りたいだけなので、aptで入れます。

sudo apt install ruby-full

ruby-fullにしないと、この後のlspのインストールでこける(30分ぐらい溶かした)

tenkohtenkoh

VSCodeに拡張機能を入れる。LSPとフォーマッタは最低限欲しい。

こちらの記事に倣って、Shopify版の拡張機能を入れた。
https://zenn.dev/necocoa/articles/vscode-ruby-lsp

入れたのだが、ゼロから環境構築(というか初心者環境構築)だとうまくいかないところがあったので手順をメモしておく。

  1. 特にWSL2だとpermission errorにつまずきやすいので、もう最初からruby-lspを入れちゃう。sudo gem install ruby-lsp
  2. 拡張機能をインストールする。いろいろセットになった版を今回は入れました。
  3. プロジェクトファイル中にGemfileを作る。今回はフォーマッタとしてrubocopを使おうと思うので、以下の感じで記入。
  4. ここで一度bundle installしておく。もしパーミッションエラーではじかれたらrubocopを別途インストールしたらよいかな。
  5. ワークスペースの設定を行う。.vscode/settings.jsonでも同じだと思うけど、今回はhoge.code-workspaceの中のsettings欄に以下を記入。formatterはautoで良さそうな説明だったけど、うまくいかなかったので明示してある。設定を書き込んだらウィンドウをリロード。
group :development do
  gem 'rubocop', require: false
	"settings": {
		"[ruby]": {
			"editor.defaultFormatter": "Shopify.ruby-lsp",
			"editor.formatOnSave": true,
		},
		"rubyLsp.formatter": "rubocop",
	},
tenkohtenkoh

ちなみに、最初はフォーマッタとしてPrettier@prettier/plugin-rubyと合わせて使おうかと試行錯誤しましたが、formatOnSaveさせることができなかった(できるはずなんだけど、うまくいかなかった)ため諦めた。

@prettier/plugin-rubyのIssueを見ても、「vscodeの拡張機能のフォルダにインストールしたら直ったよ」とか混沌とした議論がされていたので、ちょっと近づくの怖いなとも思った。

tenkohtenkoh

普通にremote container使うのが一番楽説

このスクラップは2023/09/30にクローズされました