動機
Windowsマシンの開発関係セットアップ
http://qiita.com/hotchpotch/items/92667843a0a61e8b2cbb
MSYS2で快適なターミナル生活
http://qiita.com/Ted-HM/items/4f2feb9fdacb6c72083c
Windowsで使えるターミナルとシェルのまとめ
http://qiita.com/Ted-HM/items/9a60f6fcf74bbd79a904
Windows 10 にアップデートしたので、開発環境を再構築しました
http://hateda.hatenadiary.jp/entry/win-10-devenv
これらのページを観て、当初はMinGW + 付属のmsysを導入して使っていたのを、MSYS2を入れてMinGWを後から入れる形に変えたくなった。
OS環境
Windows10 64bit
やったことの順序
MSYS2のインストール
ここから x86_64
版(64bit版)をダウンロードしてインストール。 C:\msys64
にインストールされる。MSYS2 64bitを起動するには、スタートメニュー→すべてのアプリ→「M」→「MSYS2 64bit」→「MSYS2 Shell」をクリックする。(MinGW用のショートカットもありますが、まだインストールしていないので、今は使用しません。)
MSYS2のpacmanを使う
pacmanは、ゲームではなくMSYS2のパッケージ管理システム。まずはパッケージ管理のデータベースの更新とpacmanのインストールを行う。
pacman -Sy pacman
一旦 exit
コマンドでMSYS2を閉じて、再度「MSYS2 Shell」を起動。次のコマンドでMSYS2のうちコアなパッケージを更新する。
pacman --needed -S bash pacman pacman-mirrors msys2-runtime
※なお、公式サイトの説明では、pacmanのインストール後、 pacman -Syu
なり pacman -Syuu
なりを実行してコアなパッケージを更新するよう書かれていますが、コアなパッケージのみアップデート→MSYS2を終了して再起動→その他のアップデートという流れで実行しないとアップデート中にエラーが出る場合があります。その場合は、 MSYS2のアンインストール→OSの再起動→ C:\msys64フォルダが残っていたら完全削除
をして、最初からやり直すのが無難です。(参考:http://yaritakunai.hatenablog.com/entry/2015/11/07/201000)
更新インストールがあって適用したら再度MSYS2を閉じて「MSYS2 Shell」を起動。他の必要な更新を行うコマンドを実行する。
pacman -Su
pacman初回利用時の注意
こちらの環境だけかもしれませんが、以下のようなエラーが表示されました。
(1/2) 更新 filesystem [#####################] 100%
WARNING: the shell starting scripts have been unified. Please update your
shortcuts to the following targets, otherwise they will STOP WORKING:
* MSYS2_ROOT\msys2_shell.cmd -mingw32
* MSYS2_ROOT\msys2_shell.cmd -mingw64
* MSYS2_ROOT\msys2_shell.cmd -msys
(2/2) 更新 mintty [#####################] 100%
警告: terminate MSYS2 without returning to shell and check for updates again
警告: for example close your terminal window instead of calling exit
minttyのアップデート後、上記の表示によりコマンドを受け付けなくなったため、「×」ボタンをクリックしてウィンドウを終了しました。
更に、filesystemの更新により、スタートメニュー内のショートカットが正常に実行できなくなりました。ショートカットのリンク先に指定されたbatファイルがアップデートで無くなったためです。アラート表示にも書かれているとおりに、「MinGW-w64 Win32 Shell」「MinGW-w64 Win64 Shell」「MSYS2 Shell」のそれぞれのリンク先をアラート表示の内容に編集してください。例えば、MSYS2 Shellの場合は、 C:\Windows\System32\cmd.exe /A /Q /K C:\msys64\msys2_shell.bat
から C:\msys64\msys2_shell.cmd -msys
に変更してください。
※さらに後ろに -use-full-path
を入れておくとWindowsのPATHの設定を含めてくれるので、別途WindowsにインストールしたソフトウェアをMSYS2で利用できます。
MinGWをpacmanでインストール
「MSYS2 Shell」を起動。MinGWについては、pacmanで以下のものをインストールしておけば間違いないらしい。(参考:http://verifiedby.me/adiary/055)
pacman -S base-devel msys2-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
今回は、特に理由がなかったので選択指定なし(all)でインストールしようとした、のだけど、 base-devel
に入っている pactoys-git
と repman-git
が衝突しているって出た。 repman-git
を削除するか聞かれた。迷ったので調べたところ、 pactoys-git
をインストールしない方が良さそうな感じだったので、インストール時の設定で pactoys-git
は外した。(参考:https://twitter.com/vc450j/status/737160037559193600)
これでMinGWのインストールが完了。gccなどを利用したい場合は「MinGW-w64 Win64 Shell」の方を実行する。
後は適宜、必要なものをpacmanの pacman -S <パッケージ名>
コマンドを使ってインストールしていけばOK。