Node.js 在 Azure 网站 500 强中的地位

Node.js on Azure Website 500 status

我正在尝试在 Azure 上获得一个 node.js (meanjs) 站点 运行。该站点在我的本地环境中正常运行,没有任何错误。但是在部署之后,当我访问我的站点时,我在 chrome 的网络选项卡中收到 500 错误。我没有明显的错误。

我使用 https://groups.google.com/forum/#!topic/meanjs/LrHmE43RSvA 指导我如何使用 azure cli 进行设置。

它也被设置为部署我的github。

在 Azure 门户中,部署不会失败。我已通读日志并试图找出问题所在,但我几乎不知道从哪里开始。例如,通读它有一些对我来说看起来很奇怪的东西。 (日志很长,超过了字符数限制,否则我会 post 全部编辑。)

MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe". To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visual Studio 2005 or 3) add the location of the component to the system path if it is installed elsewhere. [D:\home\site\repository\node_modules\bson\build\binding.sln]

还有很多

npm WARN unmet dependency

然后它们都得到处理,文件被复制到 wwwroot 并成功完成。

我尝试过的一些事情是更改部署分支、删除网站并重新开始。我有

让我知道我是否可以添加任何其他内容post我真的很想让它工作。

感谢您的帮助。

编辑**

我将 bson 添加到 .gitignore 并得到了一个新错误。我也收到了一些新错误,下面是发生了什么变化。

bson@0.2.18 install D:\home\site\repository\node_modules\bson (node-gyp rebuild 2> builderror.log) || (exit 0)

MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe". To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visual Studio 2005 or 3) add the location of the component to the system path if it is installed elsewhere.

[D:\home\site\repository\node_modules\bson\build\binding.sln]

npm WARN prefer global coffee-script@1.8.0 should be installed with -g npm ERR! Error: ENOENT, chmod >'D:\home\site\repository\node_modules\flatiron\bin\flatiron'

npm ERR! If you need help, you may report this entire log,

我还在目录中添加了一个.npmignore,但它是空白的。我尝试将 bson 和 flatiron 添加到 .gitignore 但这并没有改变错误。

从您 post 编辑的日志中,我可以看到当 azure 在部署期间尝试安装名为 bson 的 NPM 模块时失败了,因为没有 VC++ 编译器在您的 Azure 网站所在的虚拟机中。

它在你的机器上运行良好,因为你安装了 VC++。

要修复,你最好在你的机器上编译这个模块(bson)(x86 或 x64 取决于你在 azure 网站上选择的那个),使这个模块包含在 node_modules 文件夹中,以便在您提交代码时上传。

我有一个博客 post 提到了这个问题,我正在使用 Node.js SQL 服务器驱动程序作为示例。它还需要 VC++ 编译。 http://blog.shaunxu.me/archive/2012/11/16/install-npm-packages-automatically-for-node.js-on-windows-azure-web.aspx