Windows+MinGWでGnuコマンドとシェル環境を揃える
なるべくOSデフォルトの環境の中から使えるものを選んで使っていくことを良しとしている私ですが、
WindowsのコマンドプロンプトをLinux環境のシェルの代わりに使うということはだいぶ前に諦めました。
Powershellは強力だけどちょっと……。
やはりLinuxのコマンドが使いたい……。
MacがWeb開発者に人気な理由がよくわかります。
ところが諸事情によりWindowsでやらなければならない作業があるので未だ仕事用のPCはWindowsのままです。
いろいろと試してはいたんですが、最終的にMinGW+Msysでシェル(bash)+αの環境を整えることにしました。
MinGW(Minimalist GNU for Windows)
インストール
先日紹介したChocolateyでインストールしようとしたところ失敗。どうやらsourceforge.netにおいてあるインストーラのパスが変わっているようです。
http://sourceforge.net/projects/mingw/files/Installer/
上記フォルダのmingew-get-setup.exeを落としてインストールします。
Pathの追加
インストール後に環境変数PathにC:\MinGW\bin
C:\MinGW\msys\1.0\bin
を追加しておきます。(デフォルトの設定でインストールした場合)
パッケージの追加
インストール時にMinGW Installation ManagerというGUIでパッケージを管理できるソフトも入っているのでGUIでパッケージを追加する事ができます。
必要なパッケージにチェックを入れて [Installation]→[Apply Changes]でOKです。
特にこだわりがない場合はひとまずmingw32-baseとmsys-baseをインストールし、必要なパッケージを追加するといいでしょう。
私はmsys-openssh、msys-openssl、msys-rsyncなどを入れています。
Pathを追加していればmingw-getコマンドが利用可能になるため、
> mingw-get install packageNameで必要なパッケージをインストールすることも可能です。
lsコマンドを日本語対応
デフォルトではlsコマンドで日本語が文字化けするのでbashが利用する環境変数HOMEにユーザーのホームディレクトリを登録し、~/.profileにエイリアスを登録しておきます。
alias ls='ls --show-control-chars'
ターミナルエミュレータを導入
bashを使うにはMinnityが一番シンプルですが、コマンドプロンプトやPowershellもまとめて扱えるConEmuを使っています。
ConEmu設定方法は下記が詳しいです。
最近のWindowsの開発環境のセットアップ - 純粋関数空間