我目前正试图在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机器。有没有人对我有任何智慧?谢谢!
答案 0 :(得分:1)
您是否尝试完全从.gitignore中删除所有/ node_modules /?
此外,如果您使用的是生成的.gitignore文件,请检查被忽略的实际“express”文件夹。我不得不从Visual Studio生成的.gitignore中删除它,以便与node.js应用程序和Azure进行持续集成。
如果没有.gitignore按摩量,请尝试将所有项目文件手动FTP到服务器,看看它是否会完成。这将告诉您是否存在持续集成/ Git或实际应用和环境的问题。
编辑:关于finicky node.js部署到Azure I have also experienced trouble due to my app's directory structure的主题。