なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Visual Studio から Xamarin Mac Agent につながらない

先日の Connect(); // 2016 にて、 VS が Mac でも使えるよ!ってなったらしく、
久々に Xamarin をやってみました。

しかしながら、いざビルドしようとして SSH をつなごうとしたら、この状態です。

f:id:MikazukiFuyuno:20161117225441p:plain:w260

ID/PASS が間違えているのかなと、 WSL 経由で SSH に繋いだところ、普通につながりました。
ほかに、 MacBook 側の Xamarin のバージョンの問題かと思いましたが、結局繋がらず...。

ログを見た感じ。

Starting connection to Mac Mikazuki.local...
Installing Broker 4.2.1.60...
Uploading Broker 4.2.1.60 (544/5405 KB) 10%...
Uploading Broker 4.2.1.60 (1088/5405 KB) 20%...
Uploading Broker 4.2.1.60 (1632/5405 KB) 30%...
Uploading Broker 4.2.1.60 (2176/5405 KB) 40%...
Uploading Broker 4.2.1.60 (2704/5405 KB) 50%...
Uploading Broker 4.2.1.60 (3248/5405 KB) 60%...
Uploading Broker 4.2.1.60 (3792/5405 KB) 70%...
Uploading Broker 4.2.1.60 (4336/5405 KB) 80%...
Uploading Broker 4.2.1.60 (4880/5405 KB) 90%...
Uploaded Broker 4.2.1.60 100%
Unable to install the Broker
Couldn't connect to Mikazuki.local. Please try again.
Disconnected from Mac Mikazuki.local (192.168.1.10)

となっているので、どうやら Broker のインストールに失敗してるようです。
更に詳しく見るため、 ヘルプ -> Xamarin -> Open Logs... にて、最新のログを確認したところ

Xamarin.Messaging.VisualStudio.MessagingService Information: 0 : [2016-11-17 22:52:31.8133] Installing Broker 4.2.1.60...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:32.3491] Uploading Broker 4.2.1.60 (544/5405 KB) 10%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:32.7009] Uploading Broker 4.2.1.60 (1088/5405 KB) 20%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:32.9974] Uploading Broker 4.2.1.60 (1632/5405 KB) 30%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:33.2877] Uploading Broker 4.2.1.60 (2176/5405 KB) 40%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:33.6387] Uploading Broker 4.2.1.60 (2704/5405 KB) 50%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:34.0151] Uploading Broker 4.2.1.60 (3248/5405 KB) 60%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:34.3274] Uploading Broker 4.2.1.60 (3792/5405 KB) 70%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:34.6511] Uploading Broker 4.2.1.60 (4336/5405 KB) 80%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:34.9719] Uploading Broker 4.2.1.60 (4880/5405 KB) 90%...
Xamarin.Messaging.VisualStudio.MessagingFileManager+UploadFileLogger Information: 0 : [2016-11-17 22:52:35.2930] Uploaded Broker 4.2.1.60 100%
Xamarin.Messaging.Client.Ssh.SshCommandRunner Warning: 0 : [2016-11-17 22:52:36.3367] Failed to execute 'find "/Users/mikazuki/Library/Caches/Xamarin/XMA/Broker/4.2.1.60/" -type f | while read line ; do md5 -q "$line" ; done': ExitStatus=127
Xamarin.Messaging.Client.Ssh.SshCommandRunner Warning: 0 : [2016-11-17 22:52:36.5657] Missing end to balance this while loop
fish: find "/Users/mikazuki/Library/Caches/Xamarin/XMA/Broker/4.2.1.60/" -type f | while read line ; do md5 -q "$line" ; done
                                                                                   ^

Xamarin.Messaging.Client.Ssh.XmaCommands Error: 0 : [2016-11-17 22:52:36.8143] An error occurred while verifying installed C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Xamarin\Xamarin\4.2.1.60\Broker.zip
Xamarin.Messaging.Client.Ssh.SshCommandException: Missing end to balance this while loop
fish: find "/Users/mikazuki/Library/Caches/Xamarin/XMA/Broker/4.2.1.60/" -type f | while read line ; do md5 -q "$line" ; done
                                                                                   ^

   場所 Renci.SshNet.SshCommandExtensions.ThrowIfError(SshCommand command)
   場所 Xamarin.Messaging.Client.Ssh.SshCommands.<RunCommandAsync>d__43.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Xamarin.Messaging.Client.Ssh.SshCommands.<GetDirectoryChecksumAsync>d__12.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Xamarin.Messaging.Client.Ssh.XmaCommands.<VerifyInstallationAsync>d__6.MoveNext()
Xamarin.Messaging.VisualStudio.MessagingService Error: 0 : [2016-11-17 22:52:37.2693] Unable to install the Broker
Xamarin.VisualStudio.IOS.Messaging.State.DisconnectedState Error: 0 : [2016-11-17 22:52:37.4483] Couldn't connect to Mikazuki.local. Please try again.
Xamarin.VisualStudio.IOS.Messaging.State.ServerStateContext Information: 0 : [2016-11-17 22:52:37.6447] MacServer State transition from SshConnectingState to DisconnectedState on Mikazuki.local (192.168.1.10)
Xamarin.VisualStudio.IOS.Messaging.State.ServerStateContext Information: 0 : [2016-11-17 22:52:37.8031] Disconnected from Mac Mikazuki.local (192.168.1.10)

SSH には繋がってるものの、コマンドの実行で失敗してるようですね。
で、エラー吐いてるのは fish shell なので、こいつが原因です。
ということで、 Mac 側にて、 Bash をデフォルトシェルに戻します。

$ chsh -s /bin/bash

これで再度ビルドすると普通に動きました。

では。