What's?
Cygwinをwingetでインストールできることに気づいたので、メモしておきます。
ちょっと困ったこともあったので。
環境
PS > [System.Environment]::OSVersion
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT 10.0.22621.0 Microsoft Windows NT 10.0.22621.0
PS > $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 22621 6060
wingetでCygwinをインストールする
WingetでCygwinを検索すると、以下のような結果が現れます。
PS > winget search cygwin
名前 ID バージョン 一致 ソース
-------------------------------------------------------------
Cygwin Cygwin.Cygwin 3.6.5-1 winget
WSLtty Mintty.WSLtty 3.8.0.3 Tag: cygwin winget
Cygwin Setup Cygwin.CygwinSetup 2.934 winget
wingetでCygwinがインストールできるようになったのかと驚きつつも、よくよく見ると「Cygwin」と「Cygwin Setup」が別々に表示されていますね。
どういうことでしょう?と両方試してみましたが、「Cygwin Setup」を選んだ方がよいでしょう。
Cygwin Setupをインストールする
wingetでCygwin.CygwinSetupをインストール。
PS > winget install Cygwin.CygwinSetup
するとcygwinsetupというコマンドが使えるようになります。
コマンド ライン エイリアスが追加されました: "cygwinsetup"
パス環境変数が変更されました; 新しい値を使用するにはシェルを再起動してください。
インストールが完了しました
PowerShellを起動しなおすと使えるようになっています。
PS > cygwinsetup
すると、見慣れたCygwinのインストーラーが起動するので、あとは通常のCygwinのインストールを続ければOKです。
インストールすると、「Cygwin Setup」がwingetでインストールした対象として認識されます。
PS > winget list | Select-String cygwin
Cygwin Setup Cygwin.CygwinSetup 2.934 winget
PS > winget list --name cygwin
名前 ID バージョン ソース
--------------------------------------------------
Cygwin Setup Cygwin.CygwinSetup 2.934 winget
Cygwinをインストールする
Cygwinをインストールするとどうなるかも紹介しておきます。wingetでCygwin.Cygwinをインストール。
PS > winget install Cygwin.Cygwin
すると、いきなりCygwinのインストーラーが起動してきて勝手にインストールが進みます。
操作できる箇所がまったくなく、パッケージのダウンロード先やミラー、インストールするパッケージなども選択肢が一切ありません。
インストールが完了すると、Cygwin Terminalが使えるようになります。
この方法でインストールすると、なんとwingetでインストールした一覧に現れません。
PS > winget list | Select-String cygwin
Cygwinには標準的なアンインストール方法がないからかもしれませんが…。
というわけで、「Cygwin Setup」でインストールした方がよいでしょう。


