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 に登録することができた。
[ ツッコむ ]
#2 [windows] Windows10でIISを有効化した
Windows10 x64 22H2を再インストールしたので、IISを有効化した。この日記ページをローカル環境で表示して確認するために必要なので…。
以前の作業メモに従って作業。
_mieki256's diary - Windows10上のIISを設定していたり
_mieki256's diary - Windows10 + IIS上で日記ページのプレビューができるか試したり
IIS有効後、設定をしていかないといけないのだけど。IISの構成は、数日前にバックアップしてあったので、ソレを利用した。
_mieki256's diary - IISの構成のバックアップをしておいた
管理者権限でDOS窓を開いて、以下を実行。現在の構成をバックアップしておく。
C:\Windows\System32\inetsrv\ の中に backup というフォルダが作成された。先日バックアップしておいたフォルダを、backup の中にコピー。
以下を打って、設定を復元。
一応念のために、IISを再起動。以前のサイト構成が再現された。
以前の作業メモに従って作業。
_mieki256's diary - Windows10上のIISを設定していたり
_mieki256's diary - Windows10 + IIS上で日記ページのプレビューができるか試したり
IIS有効後、設定をしていかないといけないのだけど。IISの構成は、数日前にバックアップしてあったので、ソレを利用した。
_mieki256's diary - IISの構成のバックアップをしておいた
管理者権限でDOS窓を開いて、以下を実行。現在の構成をバックアップしておく。
cd C:\Windows\\system32\inetsrv C:\Windows\\system32\inetsrv\appcmd add backup
C:\Windows\System32\inetsrv\ の中に backup というフォルダが作成された。先日バックアップしておいたフォルダを、backup の中にコピー。
以下を打って、設定を復元。
C:\Windows\system32\inetsrv\appcmd restore backup バックアップしていたフォルダ名
一応念のために、IISを再起動。以前のサイト構成が再現された。
◎ Perlの場所が変わったので設定し直し :
サイト構成は復元されたし、html は表示できたけど、Perlを使った cgi が動かなかった。
Strawberry Perl のインストール場所が変わったので、Perl.exe の場所を変更しなおさないといけない。
Strawberry Perl のインストール場所が変わったので、Perl.exe の場所を変更しなおさないといけない。
- IISマネージャーを起動。
- 左側のペインで、コンピュータ名をクリックして選択。
- 真ん中のペインで、「ハンドラー マッピング」をダブルクリック。
- 一覧の中の 「CGI」や「PL」をダブルクリック。編集ダイアログが開く。
- 要求パスに「*.cgi」、実行可能ファイルに「"(perl.exeの場所)" "%s" %s」を指定。
- 要求パスに「*.pl」、実行可能ファイルに「"(perl.exeの場所)" "%s" %s」を指定。
◎ 動作確認用cgiが使うモジュールをインストール :
Strawberry Perlで、動作確認用 cgi が使うモジュール(ライブラリ?)をインストールした。何のモジュールを使っているのか完全に忘れていて、ソースを確認して把握した…。
念のためにメモ。自分の環境の場合、D:\inetpub\wwwroot\ の中にトップページを入れてある。http://localhost/ でIISが提供しているサイトにアクセスできる。
cpan install HTML::Template
念のためにメモ。自分の環境の場合、D:\inetpub\wwwroot\ の中にトップページを入れてある。http://localhost/ でIISが提供しているサイトにアクセスできる。
[ ツッコむ ]
以上、1 日分です。