2023/12/08(金) [n年前の日記]
#1 [windows][ruby] Windows10にRubyをインストールした
Windows10 x64 22H2を再インストールしたので、Ruby もインストールし直した。
以下のバージョンをインストールしていった。DXRuby を動かしたいので、全部 32bit版にした。
今回は以下のフォルダにインストールした。
各バージョンにインストールしていたパッケージを再インストールしないといけない。以前の環境で、gem list > list.txt といった感じで一覧だけは残しておいたので、手作業で一つ一つインストールしていったけど…。コレって一気に指定してインストールできないのだろうか? bundler なるものを使うのだろうか? でも、bundler ってカレントディレクトリにインストールされちゃうのでは…?
以下のバージョンをインストールしていった。DXRuby を動かしたいので、全部 32bit版にした。
- Ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mswin32] (ActiveScriptRuby, ActiveRuby.msi)
- Ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mingw32] (rubyinstaller-1.8.7-p330.exe)
- Ruby 1.9.3p551 (2014-11-13) [i386-mingw32] (rubyinstaller-1.9.3-p551.exe)
- Ruby 2.3.3p222 (2016-11-21 revision 56859) [i386-mingw32] (rubyinstaller-2.3.3.exe)
- Ruby 2.6.10p210 (2022-04-12 revision 67958) [i386-mingw32] (rubyinstaller-devkit-2.6.10-1-x86.exe)
- Ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [i386-mingw32] (rubyinstaller-devkit-3.0.6-1-x86.exe)
- Ruby 3.2.2 (2023-03-30 revision e51014f9c0) [i386-mingw32] (rubyinstaller-devkit-3.2.2-1-x86.exe)
今回は以下のフォルダにインストールした。
D:\Ruby\Ruby187p330mswin32\ D:\Ruby\Ruby187p330mingw32\ D:\Ruby\Ruby193-x86\ D:\Ruby\Ruby23-x86\ D:\Ruby\Ruby26-x86\ D:\Ruby\Ruby30-x86\ D:\Ruby\Ruby32-x86\
各バージョンにインストールしていたパッケージを再インストールしないといけない。以前の環境で、gem list > list.txt といった感じで一覧だけは残しておいたので、手作業で一つ一つインストールしていったけど…。コレって一気に指定してインストールできないのだろうか? bundler なるものを使うのだろうか? でも、bundler ってカレントディレクトリにインストールされちゃうのでは…?
◎ gemをアップデート :
Ruby 2.3.3 は gem のアップデートが必要。今回は rubygems-update-3.2.25.gem をインストールした気がする。
_mieki256's diary - Windows10上で Ruby 2.3.3 をインストールしようとして少しハマった
rubygems-3.2.25.zip は、以下のURLでもダウンロードできそう。
_https://rubygems.org/rubygems/rubygems-3.2.25.zip
Ruby 2.6 以降については、gem update --system で gem をアップデートできた。
_mieki256's diary - Windows10上で Ruby 2.3.3 をインストールしようとして少しハマった
rubygems-3.2.25.zip は、以下のURLでもダウンロードできそう。
_https://rubygems.org/rubygems/rubygems-3.2.25.zip
Ruby 2.6 以降については、gem update --system で gem をアップデートできた。
◎ 作業した際の注意点 :
Ruby 1.9.3 x86-mingw32 に cairo や gtk2 関連のパッケージをインストールする時は、手元に特定バージョンの .gem をダウンロードしておいて、ローカルファイルからインストールするようにしないと、余計なビルドをしようとして失敗する。
_mieki256's diary - Ruby 1.9.3 x86 でruby-gtk2を動かしてみたい
Ruby 3.2.2 x86-mingw32 に DXRuby をインストールする時は、gem install dxruby だけでは dxruby.so が入ってなくて動かないので、gem install dxruby をした後、自分でビルドして作った dxruby.so を所定の場所 (Ruby 3.2.2インストールフォルダ/lib/ruby/site_ruby/3.2.0/i386-msvcrt/ ) にコピーする。
_mieki256's diary - Ruby 3.2.2 x86 上で DXRuby を動かせるか試してみた
_mieki256's diary - Ruby 1.9.3 x86 でruby-gtk2を動かしてみたい
Ruby 3.2.2 x86-mingw32 に DXRuby をインストールする時は、gem install dxruby だけでは dxruby.so が入ってなくて動かないので、gem install dxruby をした後、自分でビルドして作った dxruby.so を所定の場所 (Ruby 3.2.2インストールフォルダ/lib/ruby/site_ruby/3.2.0/i386-msvcrt/ ) にコピーする。
_mieki256's diary - Ruby 3.2.2 x86 上で DXRuby を動かせるか試してみた
◎ DirectX 9.0をインストール :
DXRuby を Windows10 で動かすためには DirectX 9.0 が必要なので、DirectX 9.0 (DirectX Redist (June 2010), directx_Jun2010_redist.exe) をインストールする。
_Windows10では、DXRubyを動かすのに d3dx9_40.dllが必要 - Issue #3 - mirichi/dxruby
d3dx9_40.dll だけ抽出してコピーする方法が紹介されているけれど、今回はまるっとインストールしてしまうことにした。directx_Jun2010_redist.exe を実行すると解凍場所を尋ねてくるので、任意の場所を指定して解凍。その中の、DXSETUP.exe を実行してインストールした。
_Windows10では、DXRubyを動かすのに d3dx9_40.dllが必要 - Issue #3 - mirichi/dxruby
d3dx9_40.dll だけ抽出してコピーする方法が紹介されているけれど、今回はまるっとインストールしてしまうことにした。directx_Jun2010_redist.exe を実行すると解凍場所を尋ねてくるので、任意の場所を指定して解凍。その中の、DXSETUP.exe を実行してインストールした。
◎ 複数バージョンの切り替え :
Ruby の複数バージョンの切り替えについては、uru 0.8.5 か pik 0.2.8 を使う。
_jonforums / uru - Bitbucket
_jonforums / uru / wiki / Downloads - Bitbucket
_Releases - vertiginous/pik
_Downloads - vertiginous/pik - GitHub (WebArchive)
今回は以下にインストールした。
Ruby 1.8.7 (mingw32|mswin32) を uru に登録できなくてハマった。環境変数 RUBYOPT に -Eutf8 が指定されていたのが原因だった。Ruby 1.8.7 に -Eutf8 というオプションを渡して実行するとエラーになるので…。RUBYOPT を __RUBYOPT にして誤魔化したら uru に登録することができた。
_jonforums / uru - Bitbucket
_jonforums / uru / wiki / Downloads - Bitbucket
_Releases - vertiginous/pik
_Downloads - vertiginous/pik - GitHub (WebArchive)
今回は以下にインストールした。
D:\Ruby\Tools\pik\ D:\Ruby\Tools\uru\
Ruby 1.8.7 (mingw32|mswin32) を uru に登録できなくてハマった。環境変数 RUBYOPT に -Eutf8 が指定されていたのが原因だった。Ruby 1.8.7 に -Eutf8 というオプションを渡して実行するとエラーになるので…。RUBYOPT を __RUBYOPT にして誤魔化したら uru に登録することができた。
[ ツッコむ ]
以上です。