Эмулятор Azure не запускается при использовании Node.js + Socket.io - PullRequest
3 голосов
/ 11 февраля 2012

Я использую Windows Azure SDK для Node.js и сталкиваюсь с чрезвычайно странным препятствием.

Я могу тестировать приложения Azure Node.js локально с помощью эмулятора Windows Azure, с до Я устанавливаю Socket.io.Затем эмулятор отказывается запускаться, выплевывая:

Creating local package...
Starting Emulator...
Start-AzureEmulator : An unexpected failure occurred.  Details:
The compute emulator had a error: Can't locate service model..
At line:1 char:20
+ Start-AzureEmulator <<<<  -Launch
    + CategoryInfo          : CloseError: (:) [Start-AzureEmulator], InvalidOperationException
    + FullyQualifiedErrorId : AzureDeploymentCmdlets.Cmdlet.StartAzureEmulatorCommand

Странно, я могу развернуть тот же код / ​​проект в Azure, и он работает нормально.Только эмулятор отказывается работать.

Также странно, что я не могу повторить это на другом компьютере.Кажется, это проблема только моего основного рабочего окна.Я попытался npm cache clear, чтобы получить новую установку Socket.io.Я удалил и переустановил Azure SDK, эмуляторы Azure и инструменты Azure Node.js.Ничто не устранило проблему.

Есть идеи?Огромное разочарование вызывает возможность тестирования только после 10-15-минутного развертывания в облаке.

ОБНОВЛЕНИЕ:
Я должен пояснить, что этот сценарий происходит только срабочая роль (без веб-ролей).

Ответы [ 5 ]

3 голосов
/ 23 июня 2012

По догадкам (потому что я думаю, что у меня могла быть похожая ошибка в прошлом), я сократил имя своего каталога проекта, который решил проблему.

У меня такое чувство, что это может бытьделать с длиной пути к файлам проекта в файловой системе.Я знаю, что у TFS есть подобные проблемы.Я обычно стараюсь хранить все свои проекты в C: \ Dev и не иметь слишком много вложенных каталогов или длинных имен проектов.

Могут быть другие причины для появления этой ошибки, но это решило проблему в моем случае.

1 голос
/ 12 февраля 2012

Используете ли вы Express Framework в веб-роли? Я столкнулся с проблемой разрешений (что вполне может быть другим симптомом) с базовым примером использования платформы Express с node.js в веб-роли в эмуляторе.

Это вызвано ошибкой упаковки. Обходной путь - удалить каталог server.js.logs из веб-роли. Затем можно отключить ведение журнала IISNode с помощью параметра loggingEnabled .

0 голосов
/ 10 сентября 2012

Эта проблема, похоже, была исправлена ​​в выпуске Windows Azure SDK для Node.js - август 2012 г. (версия: 0.6.2). Это можно установить с помощью установщика веб-платформы 4.0.

0 голосов
/ 17 февраля 2012

«Может быть, сейчас есть какие-то обходные пути?»

Я понимаю, что у меня минимальная репутация в StackOverflow, но мой предыдущий пост содержал фразу "Обходной путь". (И спасибо Гленну и его команде за то, что они привели меня туда, на другом форуме.)

0 голосов
/ 14 февраля 2012

У нас есть исправление для этого в следующем обновлении SDK, которое будет в ближайшее время.

...