compassの為にRubyをアップデート
Ruby2.5.5でcompassとかを動かしてたが時々不安定になるし流石に古いのでアップデートする事にした。
windows環境なのでコマンドからアップデートは出来なそうなので
コンパネから今まで使ってたRuby2.5.5をアンインストールして
下記から最新のRuby3.3.0をインストールした。
http://rubyinstaller.org/downloads/
ひとまずアップデートを実行しただけでエラーが出た
> gem update
「unknown encoding name - utf-8;-Eutf-8;-rubygems (RuntimeError)」
環境変数を調べて見ると
「RUBYOPT」に「-Eutf-8;-Eutf-8;-rubygems」というのが見つかったので削除したら問題無くアップデートできた。
次にgem自体のアップデートしてみたところ今度は許可されてないらしい。
> gem update --system
「ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ dir_s_mkdir - C:/Ruby/lib/ruby/site_ruby/3.3.0/rubygems」
アップデートを実行するコマンドプロンプトを「管理者として実行」してアップデートすると問題無く動作した。
ようやくsassやcompassなどのインストールを済ませ、いざ使ってみるとまたエラーが出た
> compass watch
「NoMethodError on line ["89"] of C: undefined method `exists?' for File:Class」
ググってみるとcompassは現状Ruby3.2以降では動作しないらしくRuby3.1.6を入れ直したら動いた。
最新版が使えないのは微妙だけどこれで様子見たいと思います。