現在のmingw/msysのインストール方法
以前のMSYSのインストールは、コア部分はバンドルインストーラでいれて、足りないものはアーカイブをダウンロードして展開する、という感じで、管理がおそろしくめんどくさかった記憶がありました。
しかし最近更新しようとしてみたら、mingw-getですべて完結するようになっていて、管理がとても簡単になっていた。
mingw-get-instでインストール
最新のming-get-inst-YYYYMMDD.exeをダウンロードします(今現在だと20110530)。
このexeを実行し、進めていけば、c:/MinGW以下にmingwが、c:/MinGW/msys/1.0にMSYSが入ります。
(自分はチェックで全部入れるようにしたが、あとで下記のmingw-getコマンドでも追加できる)
minttyからMSYSを使う
スタートメニューから"MinGW Shell"ショートカットを実行すれば、MSYS環境に入ります。このMSYS環境でもcygwinと同じようにターミナルエミュレータでminttyが使えます。
まずMSYS環境で以下を実行し、MSYS用mintty.exeをインストールします:
mingw-get update mingw-get upgrade mingw-get install msys-mintty
minttyを実行するには、
- "MinGW shell"のショートカットの"プロパティ"を開き、"リンク先"に"--mintty"オプションを入れる
C:\MinGW\msys\1.0\msys.bat --mintty
ちなみにminttyコマンドを直接実行して開く場合は以下のようにすれば良いようです。
c:\MinGW\msys\1.0\bin\mintty.exe /bin/bash --login -i
MinGWと併用する場合、pythonやrubyはWindowsビルドの物を使う場合が多いと思いますが、xtermであるminttyではWindowsのpythonやirbの対話モードが機能しません。なので、通常の"MinGW Shell"ショートカットのプロパティで"簡易編集モード"にチェックを入れておいて使うのが一番良いかもしれません。
簡易編集モードは、ドラッグ選択で(矩形)選択モードになり、右クリックでコピー&モード終了、左クリックでキャンセル&モード終了。通常モード時に右クリックでペーストになります。
その他msysパッケージのインストール
種類はそれほどないですが、追加のmsysパッケージは同様にmingw-get installでいれられます。たとえば、
mingw-get install msys-openssl mingw-get install msys-openssh
mingw-getで入れられるパッケージの一覧は
mingw-get list | less
で見ることができます。
MSYSのSSL CERTSを更新する
cygwinでのcerts更新方法( http://d.hatena.ne.jp/bellbind/20110609/1307622037 )とほぼ一緒です。
cd /var/ssl/certs wget -O - http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}' c_rehash
bash環境の設定
~/.profile (c:\MinGW\msys\1.0\home\USERNAME\.profile)を作ります。
たとえばxyzzyやpythonにpathを通す場合:
# clean windows path export PATH=/usr/local/bin:/mingw/bin:/bin export PATH="$PATH":/c/Python27:/c/Python27/Scripts export PATH="$PATH":/c/Ruby187/bin export PATH="$PATH":/c/Program\ Files\ \(x86\)/MiKTeX\ 2.9/miktex/bin/ export JAVA_HOME=/c/Program\ Files/Java/jdk1.7.0 export PATH="$PATH":"$JAVA_HOME"/bin export PATH="$PATH":/d/opt/apache-ant-1.8.2/bin export PATH="$PATH":/d/opt/groovy-1.8.0/bin function xyzzy { HOME="c:/Users/bellbind" /d/opt/xyzzy/xyzzy "$@" & } # fallback to cygwin commands export PATH="$PATH":/c/cygwin/bin function emacs { /c/cygwin/bin/emacs-nox "$@" ; clear }