kenichiro246’s blog

主にC#での仕事をしてます。今はAWSに関わり始めました。

Visual Studio for Mac のインストーラーで、インストール中にエラーが発生した時の対処方法(System.Net.WebException)

年始早々バスケして肉離れしました。(挨拶)

Visual Studio for Macを新規インストール中にエラーが発生しまして、苦戦した結果をここに書き記そうかと。
※私のMacBookの環境で発生および解決した方法なので、もし試す場合は自己責任でお願いします。

何が起こったのか

Visual Studio for Macのインストール中にエラーが発生し、何もインストールされないという現象が発生。

環境

・Installer version::4.0.2.121
・OS:Mac OS X v10.12.6(Sierra
 ※High Sierraでもたぶん同じ事象が発生していたと思う。

エラーメッセージ

インストーラーで表示される主なエラーメッセージは以下のとおり。

Error downloading from Mono server. Mono Framework.
Message: The operation has timed out.
Exception type: System.Net.WebException
  
複数の例外により、Mono Framework をインストールできませんでした (試行回数 3)
Message: Some installation errors are present.
Exception type: System.AggregateException

実際の画面は以下の感じ。
f:id:kenichiro246:20180112000544p:plain:w300
f:id:kenichiro246:20180112000604p:plain:w300

エラー原因

このエラーメッセージからは正直わからないことが多いため、インストールログを確認したところ、インストールに必要なMono FrameworkのPackageファイルのダウンロードに失敗しているようでした。
インストールログは以下のパスに保存されており、より詳細なログが出力されています。
/Users/(UserName)/Library/Logs/XamarinInstaller/Universal

[2018-01-06 05:32:52.857] [Info] Installing software item 'Mono Framework'
[2018-01-06 05:32:52.857] [Info] Mono Framework is waiting for download to finish.
[2018-01-06 05:32:54.597] [Debug] Download size for 'https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-5.4.1.7.macos10.xamarin.universal.pkg': 493676379
[2018-01-06 05:32:55.518] [Debug] Download size for 'https://dl.xamarin.com/VsMac/VisualStudioForMac-7.3.2.12.dmg': 426875576
[2018-01-06 05:32:56.236] [Debug] Download size for 'https://dl.xamarin.com/profiler/profiler-mac-1.6.0-25.pkg': 44832659
[2018-01-06 05:32:56.236] [Info] Downloading from 'https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-5.4.1.7.macos10.xamarin.universal.pkg'.
[2018-01-06 05:32:56.237] [Debug] Setting download timeout for 'https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-5.4.1.7.macos10.xamarin.universal.pkg' to 60s
[2018-01-06 06:09:44.133] [Exception] Failed to retrieve response for URL 'https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-5.4.1.7.macos10.xamarin.universal.pkg'
[2018-01-06 06:09:44.133] [Exception] System.Net.WebException: The operation has timed out.
[2018-01-06 06:09:44.133] [Exception] at System.Net.WebConnectionStream.Read (System.Byte[] buffer, System.Int32 offset, System.Int32 size) [0x00055] in /Library/Frameworks/Xamarin.Mac.framework/Versions/2.10.0.113/src/mono/mcs/class/System/System.Net/WebConnectionStream.cs:338
[2018-01-06 06:09:44.133] [Exception] at Xamarin.Web.Installer.DownloadService.DoDownload (System.Int64 totalBytes, System.IO.Stream responseStream, System.IO.Stream outputStream, System.Object state) [0x00087] in /Users/builder/data/lanes/5758/b4a89cf8/source/installer/Xamarin.Web.Installer/DownloadService.cs:285

対処方法

上記エラーメッセージの.pkgファイルを手動でインストールします。
.pkgのURLをコピーし、ブラウザのアドレスバーなどへ貼り付けて実行することでPackageのダウンロードが開始されるため、ダウンロード後にインストールします。

私の場合、Monoのインストールが正常に完了し、再度インストーラーでインストールを進めてみたところ、今度は「VisualStudioForMac-7.3.2.12.dmg」のダウンロードでエラーが発生。
→同じように手動でインストール
→インストール完了
インストーラーで再度インストールするもまたエラー
→エラーログからxamarin.android-8.1.0-25.pkgを手動でインストール
→インストール完了
インストーラーで再度インストールするもまたエラー
→エラーログからxamarin.ios-11.6.1.2.pkgを手動でインストール
→インストール完了
と、何度も繰り返し。再度にインストーラーも正常終了したことを確認し、無事インストールが完了。
その後は特に問題なく利用できています。

結局のところ、System.Net/WebConnectionStream.csでエラーが発生していたようですが、なぜエラーが発生していたかまでは不明です。

同じような事象で困っている人の助けになれば幸いです。