MSYS2という環境はCygwinに比べるとWindowsとの互換性を重要視したPOSIXエミュレーターに見える(あまり使っていないのでぱっと見の感想)。現状で一番困っているのはシンボリックリンクの扱いで、例えばPOSIXのsymlink(2)は必ず失敗する。失敗してエラーを投げられると困るので、現状はシンボリックリンク関係の部分はWin32APIのCreateSymbolicLinkを使って凌いでいるが、このAPIは管理者権限を要求するので普通にSagittariusを起動して使用すると失敗する(何も作ってくれない)。
個人的にWindows上で使うPOSIXエミュレータを以下の理由からMSYS2に乗り換えようかなと思っている:
- プロセスの作成が失敗しない
- メモリの制限がない
代替案としては
- ショートカットを使う
- ハードリンクとジャンクションポイントを使う
.lnk
拡張子がネックになる。二つ目はボリューム跨ぎができない、ジャンクションポイントは絶対パスが必要になるとう結構制限がある。個人的には管理者権限を要求してもいいかとは思うが、もしそれができない状態かつMSYS2上で
scheme-env
を使いたいという状況が出てきた場合に困りそうである。いろいろな意見がほしいところである。
No comments:
Post a Comment