针对node.js的libxmljs的Azure部署错误

时间:2013-08-31 02:59:07

标签: javascript node.js azure

正如标题所示,我正在尝试在使用libsmljs的Windows Azure上部署我的网站,当然是在node.js上构建的。虽然Azure正在部署该站点,但它会失败并将其吐出:

Command: C:\DWASFiles\Sites\CircuitsExpress\VirtualDirectory0\site\deployments\tools\deploy.cmd
Handling node.js deployment.
KuduSync.NET from: 'C:\DWASFiles\Sites\CircuitsExpress\VirtualDirectory0\site\repository' to: 'C:\DWASFiles\Sites\CircuitsExpress\VirtualDirectory0\site\wwwroot'
Node.js versions available on the platform are: 0.10.5, 0.6.17, 0.6.20, 0.8.19, 0.8.2.
Selected node.js version 0.10.5. Use package.json file to choose a different version.
 > libxmljs@0.8.1 install C:\DWASFiles\Sites\CircuitsExpress\VirtualDirectory0\site\wwwroot\node_modules\libxmljs
> node-gyp rebuild
 C:\DWASFiles\Sites\CircuitsExpress\VirtualDirectory0\site\wwwroot\node_modules\libxmljs>node "D:\Program Files (x86)\npm\1.2.18\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild 
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
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.  [C:\DWASFiles\Sites\CircuitsExpress\VirtualDirectory0\site\wwwroot\node_modules\libxmljs\build\binding.sln]
gypnpm ERR! libxmljs@0.8.1 install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
An error has occurred during web site deployment.
npm ERR! 
npm ERR! Failed at the libxmljs@0.8.1 install script.
npm ERR! This is most likely a problem with the libxmljs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls libxmljs
npm ERR! There is likely additional logging output above.
 npm ERR! System Windows_NT 6.2.9200
npm ERR! command "D:\\Program Files (x86)\\nodejs\\0.10.5\\node.exe" "D:\\Program Files (x86)\\npm\\1.2.18\\bin\\npm-cli.js" "install" "--production"
npm ERR! cwd C:\DWASFiles\Sites\CircuitsExpress\VirtualDirectory0\site\wwwroot
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
npm

现在看起来像你的npm错误,如果你没有C编译器你会得到,但我这样做!这就是我安装libsmljs时npm的输出。

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\ShannonS>npm install libxmljs -g
npm http GET https://registry.npmjs.org/libxmljs
npm http 304 https://registry.npmjs.org/libxmljs
npm http GET https://registry.npmjs.org/bindings/1.0.0
npm http 304 https://registry.npmjs.org/bindings/1.0.0

> libxmljs@0.8.1 install C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libx
mljs
> node-gyp rebuild


C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs>node "C:\Program Fil
es (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\b
in\node-gyp.js" rebuild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
  pattern.c
  error.c
  HTMLparser.c
  catalog.c
  xmlsave.c
  xinclude.c
  list.c
  HTMLtree.c
..\..\..\vendor\libxml\catalog.c(977): warning C4013: 'open' undefined; assumin
g extern returning int [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libx
mljs\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\catalog.c(998): warning C4013: 'read' undefined; assumin
g extern returning int [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libx
mljs\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\catalog.c(999): warning C4013: 'close' undefined; assumi
ng extern returning int [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\lib
xmljs\build\vendor\libxml\libxml.vcxproj]
  SAX.c
  hash.c
  xmlwriter.c
  relaxng.c
  xmlmemory.c
  SAX2.c
  valid.c
  xlink.c
  xpath.c
  xmlschemastypes.c
  entities.c
  uri.c
  xpointer.c
  xmlIO.c
  xmlschemas.c
  xmlunicode.c
  xmlstring.c
  legacy.c
  parserInternals.c
  globals.c
  dict.c
  encoding.c
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(71): warning C4028: formal parameter 1 different from declaration (..\..\.
.\vendor\libxml\xpath.c) [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\li
bxmljs\build\vendor\libxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(74): warning C4244: 'initializing' : conversion from 'const uint64_t' to '
const int', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\Sh
annonS\AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcx
proj]
..\..\..\vendor\libxml\dict.c(173): warning C4244: 'function' : conversion from
 'time_t' to 'unsigned int', possible loss of data [C:\Users\ShannonS\AppData\R
oaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(185): warning C4244: 'function' : conversion from 'int64_t' to 'const size
_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\ShannonS\
AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\dict.c(237): warning C4018: '>' : signed/unsigned mismat
ch [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\vendor\li
bxml\libxml.vcxproj]
..\..\..\vendor\libxml\dict.c(305): warning C4018: '>' : signed/unsigned mismat
ch [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\vendor\li
bxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(334): warning C4244: 'function' : conversion from 'const int64_t' to 'cons
t size_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\Sha
nnonS\AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxp
roj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(340): warning C4244: 'function' : conversion from 'const int64_t' to 'size
_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\ShannonS\
AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(364): warning C4244: 'function' : conversion from 'const int64_t' to 'size
_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\ShannonS\
AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(469): warning C4244: 'function' : conversion from 'int64_t' to 'const size
_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\ShannonS\
AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(470): warning C4244: 'function' : conversion from 'int64_t' to 'const size
_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\ShannonS\
AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(471): warning C4244: 'function' : conversion from 'int64_t' to 'const size
_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\ShannonS\
AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
c:\users\shannons\appdata\roaming\npm\node_modules\libxmljs\vendor\libxml\timso
rt.h(480): warning C4244: 'function' : conversion from 'int64_t' to 'const size
_t', possible loss of data (..\..\..\vendor\libxml\xpath.c) [C:\Users\ShannonS\
AppData\Roaming\npm\node_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
  xmlmodule.c
  xmlregexp.c
  xmlreader.c
  tree.c
  threads.c
  parser.c
  chvalid.c
  buf.c
..\..\..\vendor\libxml\buf.c(674): warning C4028: formal parameter 1 different
from declaration [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\b
uild\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\xmlIO.c(668): warning C4133: 'function' : incompatible t
ypes - from 'stat *' to '_stat64i32 *' [C:\Users\ShannonS\AppData\Roaming\npm\n
ode_modules\libxmljs\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\xmlIO.c(822): warning C4013: 'read' undefined; assuming
extern returning int [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxml
js\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\xmlIO.c(843): warning C4013: 'write' undefined; assuming
 extern returning int [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxm
ljs\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\xmlIO.c(861): warning C4013: 'close' undefined; assuming
 extern returning int [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxm
ljs\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\xmlIO.c(3811): warning C4013: 'getcwd' undefined; assumi
ng extern returning int [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\lib
xmljs\build\vendor\libxml\libxml.vcxproj]
..\..\..\vendor\libxml\xmlIO.c(3811): warning C4047: '!=' : 'int' differs in le
vels of indirection from 'void *' [C:\Users\ShannonS\AppData\Roaming\npm\node_m
odules\libxmljs\build\vendor\libxml\libxml.vcxproj]
  libxml.vcxproj -> C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs
  \build\Release\lib\libxml.lib
  libxmljs.cc
  xml_namespace.cc
  xml_syntax_error.cc
  xml_node.cc
  xml_sax_parser.cc
  xml_attribute.cc
  xml_xpath_context.cc
  xml_document.cc
..\src\xml_xpath_context.cc(50): warning C4800: 'int' : forcing value to bool '
true' or 'false' (performance warning) [C:\Users\ShannonS\AppData\Roaming\npm\n
ode_modules\libxmljs\build\xmljs.vcxproj]
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(178): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_syntax_error.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(178): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\libxmljs.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(183): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_xpath_context.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_attribute.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::FunctionTemplate
          ] (..\src\xml_attribute.cc)
  xml_element.cc
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_namespace.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::FunctionTemplate
          ] (..\src\xml_namespace.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(183): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_node.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(183): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::FunctionTemplate
          ] (..\src\xml_node.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(178): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_sax_parser.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(178): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::FunctionTemplate
          ] (..\src\xml_sax_parser.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_document.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::FunctionTemplate
          ] (..\src\xml_document.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::Object
          ] (..\src\xml_element.cc)
C:\Users\ShannonS\.node-gyp\0.8.20\deps\v8\include\v8.h(217): warning C4506: no
 definition for inline function 'v8::Persistent<T> v8::Persistent<T>::New(v8::H
andle<T>)' [C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\build\x
mljs.vcxproj]
          with
          [
              T=v8::FunctionTemplate
          ] (..\src\xml_element.cc)
     Creating library C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxml
  js\build\Release\xmljs.lib and object C:\Users\ShannonS\AppData\Roaming\npm\n
  ode_modules\libxmljs\build\Release\xmljs.exp
  Generating code
  Finished generating code
  xmljs.vcxproj -> C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs\
  build\Release\\xmljs.node
libxmljs@0.8.1 C:\Users\ShannonS\AppData\Roaming\npm\node_modules\libxmljs
└── bindings@1.0.0

C:\Users\ShannonS>^A

令我困惑的是,这个库是明确构建的,那么为什么Azure在服务器上部署它会有问题?我正在寻找一个解决方案而不仅仅是一个“这就是为什么”的答案。我真的不知道在哪里寻找原因的修复,我需要有关于这个的指导。

编辑:我正在使用github作为azure的部署源。

1 个答案:

答案 0 :(得分:3)

Azure文档说明了平台"..does not provide Python or node-gyp and cannot build native modules"。在此处查看“原生模块”部分:http://www.windowsazure.com/en-us/develop/nodejs/common-tasks/working-with-node-modules/

您是否尝试将已编译的模块添加为项目的一部分,而不是尝试让Azure在部署时编译模块?