2020/08/13(木) [n年前の日記]
#1 [windows][ruby] Windows10上でRubyをインストール
ちょっとした作業をするためのRubyスクリプトを動かしたいので、Windows10 x64 2004上で Ruby をインストールすることにした。本当は Ruby なんてもう捨ててしまいたいのだけど、ちょっとしたスクリプトを書く時は Python や Perl に比べて若干微妙に楽なので、ついつい使ってしまう…。
今までは各種スクリプトの動作確認をするために、Ruby 1.8.7 / 1.9.3 / 2.0.0 / 2.1 / 2.2 / 2.3 / 2.4 / 2.5 / 2.6 をインストールしていたけれど。全てを常時使うわけでもないし、最低限のバージョンだけインストールしておくことにしようかなと…。ひとまず、以下をインストール。
以下、参考ページ。
_ActiveScriptRuby and Other packages
_RubyInstaller for Windows
_Windowsでrubyをはじめよう - Qiita
_Rubyの実行環境構築 on Windows - Qiita
DXRuby を簡単に動かすためには 32bit版(x86版)をインストールしないといけないので、今回は32bit版だけインストールした。x64版(64bit版)をインストールした場合は、自分で DXRuby をビルドしてバイナリを作らないといかんらしい…。また、Windows10 x64上で DXRuby を動かすためには、DirectX9 を別途インストールする必要があるそうで、そちらもインストールしておいた。
_DXRuby 1.4.6 をWindows10で使う時の注意点とインストール方法 - Qiita
バージョンが異なるRubyの切り替えには、uru もしくは pik を使うことにする。
_Windowsにuruを入れてrubyのバージョン管理をする - Qiita
_Rubyアソシエーション: 複数のRuby環境の構築
_Downloads - vertiginous/pik
_jonforums / uru / wiki / Downloads - Bitbucket
pik-0.2.8.msi と uru-0.8.5-windows-x86.7z を、以下にインストールしておいた。
今までは各種スクリプトの動作確認をするために、Ruby 1.8.7 / 1.9.3 / 2.0.0 / 2.1 / 2.2 / 2.3 / 2.4 / 2.5 / 2.6 をインストールしていたけれど。全てを常時使うわけでもないし、最低限のバージョンだけインストールしておくことにしようかなと…。ひとまず、以下をインストール。
- ActiveScriptRuby 1.8.7-p330
- RubyInstaller2 Ruby+Devkit 2.6.6-1 x86
C:\Ruby\Ruby187p330mswin32\ C:\Ruby\Ruby26-x86\
以下、参考ページ。
_ActiveScriptRuby and Other packages
_RubyInstaller for Windows
_Windowsでrubyをはじめよう - Qiita
_Rubyの実行環境構築 on Windows - Qiita
DXRuby を簡単に動かすためには 32bit版(x86版)をインストールしないといけないので、今回は32bit版だけインストールした。x64版(64bit版)をインストールした場合は、自分で DXRuby をビルドしてバイナリを作らないといかんらしい…。また、Windows10 x64上で DXRuby を動かすためには、DirectX9 を別途インストールする必要があるそうで、そちらもインストールしておいた。
_DXRuby 1.4.6 をWindows10で使う時の注意点とインストール方法 - Qiita
バージョンが異なるRubyの切り替えには、uru もしくは pik を使うことにする。
_Windowsにuruを入れてrubyのバージョン管理をする - Qiita
_Rubyアソシエーション: 複数のRuby環境の構築
_Downloads - vertiginous/pik
_jonforums / uru / wiki / Downloads - Bitbucket
pik-0.2.8.msi と uru-0.8.5-windows-x86.7z を、以下にインストールしておいた。
C:\Ruby\Tools\pik\ C:\Ruby\Tools\uru\この2つを、環境変数 PATH にも設定しておいた。
◎ RUBYOPTがよくわからない。 :
Ruby 1.8.7 を動かそうとしたらエラーが出てしまってちょっと悩んだけれど、環境変数 RUBYOPT に -Eutf8 が指定されていたせいだった。どうやら Ruby 2.x 以降のどこかの時点で増えたコマンドラインオプションのようで、--encoding UTF-8 を指定して、デフォルトのエンコーディングは UTF-8 ということにしているらしい。
_ruby - illegal switch in RUBYOPT: -E (RuntimeError) - Stack Overflow
Ruby 1.8.7 にはそんなコマンドラインオプションは無いから、エラーが出てしまうのだな…。
とりあえず、環境変数 RUBYOPT は削除してしまったけれど、これはこれで何か問題が起きたりしないのだろうか…。
_ruby - illegal switch in RUBYOPT: -E (RuntimeError) - Stack Overflow
Ruby 1.8.7 にはそんなコマンドラインオプションは無いから、エラーが出てしまうのだな…。
とりあえず、環境変数 RUBYOPT は削除してしまったけれど、これはこれで何か問題が起きたりしないのだろうか…。
◎ 関連付けが上手くいかない。 :
Ruby 1.8.7 と 2.6.6 だけをインストールした状態にする前に、Ruby 2.5.8 や 2.6.6 x64版もインストール・アンインストールして試していたせいか、.rb への関連付けがおかしくなってしまった。Ruby 1.8.7 に関連付けされてるっぽいけどエクスプローラのプロパティでは不明なアプリと表示されてしまう。
レジストリを弄って対処。関連付けに関して最も優先順位が高いらしい、以下の項目を削除。
DOS窓(コマンドプロンプト)を管理者権限で開いて、assoc と ftype を指定する。
これで、DOS窓上で .rb をいきなり実行しても、Ruby 2.6.6 が呼ばれるようになった。
でもまあ、ruby hoge.rb と打ったほうが間違いないのだけど…。
レジストリを弄って対処。関連付けに関して最も優先順位が高いらしい、以下の項目を削除。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.rb
DOS窓(コマンドプロンプト)を管理者権限で開いて、assoc と ftype を指定する。
assoc .rb=Ruby26 ftype Ruby26="C:\Ruby\Ruby26-x86\bin\ruby.exe" "%1" %*
これで、DOS窓上で .rb をいきなり実行しても、Ruby 2.6.6 が呼ばれるようになった。
でもまあ、ruby hoge.rb と打ったほうが間違いないのだけど…。
[ ツッコむ ]
以上です。