経緯
普段の開発ではMacやLinux(Ubuntu/CentOS)を使っているのですが、
Windows で育った身としては Windows でもちょっとしたことができるといいなーと思い、 Cygwin を入れていました。
しかし以下のような理由があり結局ほぼ使っていませんでした。
- 動作が極端に重くなるときがある
- 原因はよくわからない
- パッケージのインストールも異常に遅かったりする
- Cygwin のデフォルトの端末である mintty だと zsh が自環境で文字化けする
- 設定からロケールを日本語/SJISに変更する、といったアプローチだけでは完全に解決しなかった
-
/cygdrive/c/
とかいうパス - 各所で
apt-cyg
の代わりに勧められているcyg-fast
がバグったりしていてなんとなく信用ならない (http://gametricks.blog40.fc2.com/blog-entry-101.html)
これらは単に僕の勉強不足なだけで cygwin でも解決できたりするかもですが、
一から組み直したら解決するかもと思い、 MSYS2 + ConEmu で環境を整えなおしてみました。
以下メモ書き。
MSYS2のインストール
https://sourceforge.net/p/msys2/wiki/MSYS2%20installation/ にしたがってやります。
MSYS2 のダウンロードとインストール
上記ページから 32bit版あるいは64bit版を選択してダウンロードします。
今回は msys2-x86_64-20160205.exe
をダウンロードしました。
インストールは適当にNextを押していれば終了すると思います。
インストールが終了したら MSYS2 Shell を起動します。
パッケージマネージャのアップデート
以下のコマンドで パッケージマネージャ(pacman) のバージョンを確認します。
pacman は ArchLinux 由来のパッケージマネージャらしいです。
$ pacman -V
バージョンが 5.0.1.6403 以上の場合:
pacman -Syuu
バージョンが 4.2.1.6187 以上の場合:
$ update-core
$ pacman -Suu
を実行します。(途中端末の再起動が必要です)
MSYS2 のインストールは以上です。
zsh のインストール
$ pacman -S zsh
で入ります。
ConEmu のインストール
ConEmu を入れるのに Chocolatey で入れる必要はないのですが、この方法で入れたので書いておきます。
Chocolatey のインストール
cmd.exe か PowerShell を管理者権限で立ち上げて、以下のコマンドを入力:
cmd.exe の場合:
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
PS:\>
PowerShell の場合:
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
その後端末を再起動すると、chocolatey
コマンドが実行できるようになっているはずですが、駄目な場合は Chocolatey のインストールを解説している記事をあたってください。
ConEmu のインストール
以下を実行するだけ:
PS> choco inst conemu
zsh を ConEmu のデフォルトに設定
ここを参考にしました(http://zarari.hatenablog.com/entry/2016/05/04/173634)
ConEmu を起動して、 Settings の Startup → Tasks に zsh 起動コマンドを追加します。
set CHERE_INVOKING=1 & %ConEmuDrive%\msys64\usr\bin\zsh.exe --login -i -new_console:C:"%ConEmuDrive%\msys64\msys2.ico"
- "Default Shell" にチェックを入れる
以上です。
インストールしてみたものの
無事 cygwin ではない環境が Windows に入り、文字化けの問題やパッケージマネージャの不具合はなさそうですが、
結局いつも使っている zsh や vim の設定ファイルを読み込ませたらうまくいかず、
しばらくは Mac や Linux で頑張るかな…という感じになってしまいました。
Windows Subsystem for Linux もそろそろ公開予定とのことなので、おとなしく待つことにします。