Posted at

MSYS2 + ConEmu で Cygwin からの脱却を図る

More than 3 years have passed since last update.


経緯

普段の開発では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 の場合:


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 の場合:


Powershell

iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))


その後端末を再起動すると、chocolatey コマンドが実行できるようになっているはずですが、駄目な場合は Chocolatey のインストールを解説している記事をあたってください。


ConEmu のインストール

以下を実行するだけ:


Powershell

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 もそろそろ公開予定とのことなので、おとなしく待つことにします。