安装“socket.io-servicebus”后未创建cloud_package.cspkg文件

时间:2013-05-17 07:59:48

标签: node.js azure

我想将“socket.io-servicebus”模块用于我的node.js应用程序。

但我遇到了一个问题。 安装“socket.io-servicebus”后,“Publish-AzureServiceProject”命令未创建cloud_package.cspkg文件。

我在Windows7 64位版本上使用“Windows Azure PowerShell”。

这是程序。

  • New-AzureServiceProject test1
  • Add-AzureNodeWebRole www
  • cd www
  • npm install socket.io-servicebus
  • Publish-AzureServiceProject -ServiceName xxx ...

    [cloud_package.cspkg不会创建]

顺便说一句,“Start-AzureEmulator -Launch"将成功,我们可以测试自己的应用程序。

请给我一些建议。谢谢。

1 个答案:

答案 0 :(得分:-1)

看起来这里的问题是由于已知的路径长度限制。 Azure对包中的路径有超过255个字符的限制,在这种情况下引入socket.io所有它的依赖关系正在触及该路径。

这里有几种可能的解决方法。

A。 - 在服务器上压缩节点模块并解压缩。

基本上,您压缩模块并在包中发布模块zip。然后,您可以使用服务器上的Azure启动任务(在您的cscfg中)解压缩文件。

Publish-AzureServicePackage将抓取项目中的任何内容,因此在这种情况下,您只需要一个在发布之前运行的脚本,它会创建node_modules存档并删除node_modules。

我打算就此发表一篇博文,但这实际上相对容易。

B. - 动态下载节点模块

您可以在云中下载模块。这也可以通过启动任务来完成,如here所示。

如果您查看该帖子,您将看到如果您决定执行存档路由,您将如何创作启动任务。

如有任何问题,请随时与我联系。