Dart 2.7.1 Webdev 2.5.4 создает броски Необработанное исключение: экземпляр MissingPortFile - PullRequest
1 голос
/ 02 марта 2020

после обновления Dart до 2.7.1 я получаю Unhandled exception: Instance of 'MissingPortFile' при сборке приложения с webdev 2.5.4. У меня есть два проекта AngularDart (Владелец, Администратор), разделяющих некоторый код (Общий). Когда я запускаю webdev в Admin, я получаю исключение при первом запуске, при втором он запускается. Когда я запускаю webdev в Owner, я каждый раз получаю исключение, и оно не запускается. Команда webdev одинакова в обоих проектах (кроме номера порта).

Администратор: pub global activate webdev 2.5.4 && pub global run webdev serve --auto=refresh --hostname 127.0.0.1 "web:53311"

Владелец: pub global activate webdev 2.5.4 && pub global run webdev serve --auto=refresh --hostname 127.0.0.1 "web:53322"

Когда я переключаюсь на devel Dart (2.8.0-dev.5.0), он отлично работает в обоих проектах каждый время.

Это известная проблема в Dart 2.7.x? Я не нашел это слишком много, кроме https://gitter.im/dart-lang/angular. Они упоминают, что это должно работать при вызове webdev из IDE Webstorm, это не помогло мне.

Редактировать: (больше наблюдений). После успешной сборки с Dart 2.8.0-dev5.0 я вернулся на 2.7.1 и webdev начал нормально. Поэтому я удалил папку .dart_tool и перезапустил webdev (все еще на Dart 2.7.1) и снова получил исключение. Таким образом, проблема, возможно, в некоторых файлах, сгенерированных в .dart_tool.

Edit2: он не зависит от Dart После нескольких прогонов я столкнулся с той же проблемой с Dart 2.8.0-dev.5.0, и наоборот, мне удалось с Dart 2.7.1 после нескольких прогонов. Но это очень нестабильно, и я не могу определить, в чем проблема. Из исключения des c MissingProtFile я подозреваю, что webdev создает некоторый файл порта во время сборки, а другой процесс тем временем удаляет этот файл. Может быть, файл создан в каком-то каталоге tmp. Может ли кто-нибудь подтвердить мое подозрение?

...