Hatena::ブログ(Diary)

ラシウラ このページをアンテナに追加 RSSフィード Twitter

2011-06-12

現在のmingw/msysのインストール方法

以前のMSYSのインストールは、コア部分はバンドルインストーラでいれて、足りないものはアーカイブダウンロードして展開する、という感じで、管理がおそろしくめんどくさかった記憶がありました。

しかし最近更新しようとしてみたら、mingw-getですべて完結するようになっていて、管理がとても簡単になっていた。

古いMinGWの完全削除

新しいmingwを入れる前に、MinGWとMSYS双方をアンインストールし、その後残ったc:\MinGWやc:\msysもディレクトリごと完全に消しておきます

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を実行するには、

C:\MinGW\msys\1.0\msys.bat --mintty

ちなみにminttyコマンドを直接実行して開く場合は以下のようにすれば良いようです。

c:\MinGW\msys\1.0\bin\mintty.exe /bin/bash --login -i

MinGWと併用する場合pythonrubyWindowsビルドの物を使う場合が多いと思いますが、xtermであるminttyではWindowspythonirbの対話モードが機能しません。なので、通常の"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

これで、wgetでもhttpsサイト普通にアクセスできるようになります


bash環境の設定

~/.profile (c:\MinGW\msys\1.0\home\USERNAME\.profile)を作ります

たとえばxyzzypythonに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
}

リソース


おまけ: MSYSシェル上でscala実行

antgroovyと違いscala-2.9.0.1の時点でコマンドスクリプトはMSYSに対応してません。

そこでMSYS上でコマンドを動かすための簡単なpatchを作りました

scalaREPLbash風の編集コマンドが使えるmintty上のほうが使いやすいと思います

(scalagithubに移行らしい https://github.com/scala/scala/wiki/Github-Move )

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

リンク元
Connection: close