1

TL;博士

  • 作为云服务托管在 Azure 上的 Node.js 应用。
  • 发布失败(应用未上传),但似乎有效。

解释:

我在使用网站和云服务的 Windows Azure 上有一个帐户。我将我的网站移至云服务,以便能够使用自定义域。

搬家后,我使用 Azure cmdlet 发布我的 Node.js 网络服务器。在发布之前工作正常,通常需要 5 到 10 分钟才能完成。一旦发布,该网站将包含最新的内容。

我的问题是,现在发布不到 2 分钟,没有报错,也没有更新内容。为什么我的应用没有发布它的内容?

以下是我的发布输出:

PS C:\Projects\Azure\CloudServices\jwbsite\JWB> ls

    Directory: C:\Projects\Azure\CloudServices\jwbsite\JWB

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----          9/8/2012  10:22 AM            bin
d----         9/12/2012   3:30 PM            controllers
d----         9/11/2012   1:16 PM            data
d----         9/12/2012   4:00 PM            extensions
d----         9/10/2012   2:37 PM            models
d----         9/12/2012   2:45 PM            node_modules
d----         9/12/2012   3:23 PM            public
d----          9/8/2012  10:28 AM            views
-a---         9/25/2012   3:44 PM        411 package.json
-a---         9/13/2012  11:14 AM        224 robots.txt
-a---         9/17/2012   2:45 PM        605 routes.js
-a---         9/17/2012  10:59 AM       1902 server.js
-a---         8/25/2012   1:28 PM       3251 Web.cloud.config
-a---         8/25/2012   1:28 PM       3251 Web.config

PS C:\Projects\Azure\CloudServices\jwbsite\JWB> Publish-AzureServiceProject

Publishing  to Windows Azure. This may take several minutes...

4:27:17 PM - Preparing runtime deployment for service 'jwbsite'
4:27:20 PM - Preparing deployment for jwbsite with Subscription ID: ABCDEFGH-IJKL-MNOP-QRST-UVWXYZ012345...
4:27:21 PM - Connecting...
4:27:27 PM - Verifying storage account 'jwbsite'...
4:27:27 PM - Uploading Package...
4:27:39 PM - Upgrading...
4:27:50 PM - Created Deployment ID: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDE.
4:27:50 PM - Starting...
4:27:50 PM - Initializing...
4:27:51 PM - Instance JWB_IN_0 of role JWB is ready.
4:27:51 PM - Instance JWB_IN_1 of role JWB is ready.
4:27:51 PM - Instance JWB_IN_2 of role JWB is ready.
4:27:51 PM - Instance JWB_IN_3 of role JWB is ready.
4:27:52 PM - Created Website URL: http://jwbsite.cloudapp.net.
4:27:52 PM - Complete.

PS C:\Projects\Azure\CloudServices\jwbsite\JWB>

让我知道,我感谢您的帮助。

4

2 回答 2

2

如果其他人遇到此问题或 Google 将您发送到此处,我确实找到了错误的原因。

检查您的文件名/路径长度!

如果文件名太长,则不会将包上传到 Azure。我通过尝试发布到 Azure 的仿真发现了这一点,这给了我正确的错误。我不确定为什么在推送到真正的 Azure 实例时它不会给出错误。

Node.js 注意:

文件名/路径过长的主要来源是模块。通过 NPM 安装模块时,模块将安装当时不存在的依赖项。请务必查看您的模块文件结构并尝试对其进行精简(我正在编写一个脚本来为您平衡它)。

Azure 支持团队在试图解决这个令人困惑的问题方面提供了极大的帮助,他们与我一起工作了将近 2 个月,以使我的网站恢复正常运行。

如果您遇到相同或类似的问题,请尝试部署到 Azure 的本地仿真并查看您得到的错误。

我觉得这个错误很愚蠢,但希望我的愚蠢可以帮助避免别人的错误。

于 2013-01-21T20:06:55.510 回答
0

我有同样的问题,我使用这个模块来缩短我的路径 https://www.npmjs.com/package/flatten-packages 它解决了这个问题

于 2015-08-08T08:57:46.253 回答