1

我目前正在尝试在 azure 上部署 Express/Node.js 应用程序,但没有取得多大成功——我得到的错误如下:

remote: > libxmljs@0.9.0 install D:\home\site\wwwroot\node_modules\libxmljs
remote: > node-gyp rebuild
remote: 
remote: 
remote: D:\home\site\wwwroot\node_modules\libxmljs>node "D:\Program Files (x86)\npm\1.3.11\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild 
remote: Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
remote: 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\wwwroot\node_modules\libxmljs\build\binding.sln]
remote: gypnpm ERR! weird error 1
remote: Failed exitCode=1, command="D:\Program Files (x86)\nodejs\0.10.21\node.exe" "D:\Program Files (x86)\npm\1.3.11\node_modules\npm\bin\npm-cli.js" install --production
remote: An error has occurred during web site deployment.
remote: npm

我认识到 Azure 实例无法编译 libxmljs,因此我从 .gitignore 文件中排除了 libxmljs,如下所示:

!/node_modules/
/node_modules/*
!/node_modules/express/
!/node_modules/libxmljs/
.DS_Store
._*

但这仍然没有帮助,我怀疑是因为我在 Mac 上编译它并试图将它上传到 Windows 机器。有人对我有什么智慧吗?谢谢!

4

1 回答 1

1

您是否尝试过从 .gitignore 完全删除所有 /node_modules/ ?

此外,如果您使用的是生成的 .gitignore 文件,请检查被忽略的实际“express”文件夹。我必须从 Visual Studio 生成的 .gitignore 中删除它,才能使用 node.js 应用程序和 Azure 进行持续集成。

如果任何 .gitignore 按摩都不起作用,请尝试手动将所有项目文件通过 FTP 上传到服务器,以查看它是否启动。这将告诉您这是持续集成/Git 还是实际应用程序和环境的问题。

编辑:关于将 node.js 部署到 Azure 的问题,由于我的应用程序的目录结构,我也遇到了麻烦

于 2014-04-22T14:11:18.333 回答