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 と打ったほうが間違いないのだけど…。
[ ツッコむ ]
#2 [windows] Canon MG3630を無線LAN接続するように設定した
某所でネットワークプリンタを新規導入することを検討中だけど、その際、1台のプリンタに対して複数のプリンタ設定を作れるかどうかが気になるわけで。そのあたりを事前に実験して、可能かどうかを試しておきたいなと。
親父さんが使ってるインクジェットプリンタ(複合機)、Canon MG3630 は無線LAN接続機能を持っているので、この際、USB接続から無線LAN接続に変更して、その手の実験をさせてもらおうと。
無線LAN接続への切り替えは、公式サイトで説明されているとおりにしていけばいいのだけど。
_【インクジェットプリンター】プリンターと無線LAN(Wi-Fi)ルーターをケーブルレスで接続する (PIXUS MG3630)
_【インクジェットプリンター】セットアップCDもしくは「セットアップ&マニュアル」サイトからソフトウェアをインストールする(無線LAN接続) -Windows- (PIXUS MG3630)
_キヤノン:公式マニュアル|ようこそ!
ウチの無線LANルータはMACアドレスフィルタリングを有効にしてあるので、すんなり接続できなくて。途中で表示されるMACアドレスを無線LANルータ側に登録したり、一時的にUSBケーブルをプリンタに接続してSSID云々を打ち込んで伝えたり等することで、無線LANルータに接続できる状態になった。
1台目のPCで操作して、無線LANルータとプリンタが接続されてしまえば、2台目のPC上でプリンタドライバ等をインストール際はすんなり処理が進んでくれた。
親父さんが使ってるインクジェットプリンタ(複合機)、Canon MG3630 は無線LAN接続機能を持っているので、この際、USB接続から無線LAN接続に変更して、その手の実験をさせてもらおうと。
無線LAN接続への切り替えは、公式サイトで説明されているとおりにしていけばいいのだけど。
_【インクジェットプリンター】プリンターと無線LAN(Wi-Fi)ルーターをケーブルレスで接続する (PIXUS MG3630)
_【インクジェットプリンター】セットアップCDもしくは「セットアップ&マニュアル」サイトからソフトウェアをインストールする(無線LAN接続) -Windows- (PIXUS MG3630)
_キヤノン:公式マニュアル|ようこそ!
ウチの無線LANルータはMACアドレスフィルタリングを有効にしてあるので、すんなり接続できなくて。途中で表示されるMACアドレスを無線LANルータ側に登録したり、一時的にUSBケーブルをプリンタに接続してSSID云々を打ち込んで伝えたり等することで、無線LANルータに接続できる状態になった。
1台目のPCで操作して、無線LANルータとプリンタが接続されてしまえば、2台目のPC上でプリンタドライバ等をインストール際はすんなり処理が進んでくれた。
[ ツッコむ ]
以上、1 日分です。