NPM Install Fails on GYP MAKE: Error: `make` failed with exit code: 2

NPM Install Fails on GYP MAKE: Error: `make` failed with exit code: 2

我们最近接管了一个网站,现在正面临更新 SASS 的麻烦。当 运行 npm install 时会抛出一堆错误。

重建 Gyp 时出现问题,进程中止。

我查看了很多不同的帖子并尝试了以下方法:

同时,我使用以下节点版本对此进行了测试:

None 个有效。

这是在我的终端中生成的错误代码:

--- themes/the_theme ‹master* M?› » sudo npm install
Password:
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

> libxmljs@0.8.1 install /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme/node_modules/libxmljs
> node-gyp rebuild

  CC(target) Release/obj.target/libxml/vendor/libxml/buf.o
  CC(target) Release/obj.target/libxml/vendor/libxml/catalog.o
  CC(target) Release/obj.target/libxml/vendor/libxml/chvalid.o
  CC(target) Release/obj.target/libxml/vendor/libxml/dict.o
  CC(target) Release/obj.target/libxml/vendor/libxml/encoding.o
  CC(target) Release/obj.target/libxml/vendor/libxml/entities.o
  CC(target) Release/obj.target/libxml/vendor/libxml/error.o
  CC(target) Release/obj.target/libxml/vendor/libxml/globals.o
  CC(target) Release/obj.target/libxml/vendor/libxml/hash.o
  CC(target) Release/obj.target/libxml/vendor/libxml/HTMLparser.o
  CC(target) Release/obj.target/libxml/vendor/libxml/HTMLtree.o
  CC(target) Release/obj.target/libxml/vendor/libxml/legacy.o
  CC(target) Release/obj.target/libxml/vendor/libxml/list.o
  CC(target) Release/obj.target/libxml/vendor/libxml/parser.o
../vendor/libxml/parser.c:13492:43: warning: passing 'const xmlChar *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
        hdlr = xmlFindCharEncodingHandler(doc->encoding);
                                          ^~~~~~~~~~~~~
../vendor/libxml/include/libxml/encoding.h:175:42: note: passing argument to parameter 'name' here
        xmlFindCharEncodingHandler      (const char *name);
                                                     ^
1 warning generated.
  CC(target) Release/obj.target/libxml/vendor/libxml/parserInternals.o
  CC(target) Release/obj.target/libxml/vendor/libxml/pattern.o
  CC(target) Release/obj.target/libxml/vendor/libxml/relaxng.o
  CC(target) Release/obj.target/libxml/vendor/libxml/SAX2.o
  CC(target) Release/obj.target/libxml/vendor/libxml/SAX.o
  CC(target) Release/obj.target/libxml/vendor/libxml/tree.o
  CC(target) Release/obj.target/libxml/vendor/libxml/threads.o
  CC(target) Release/obj.target/libxml/vendor/libxml/uri.o
  CC(target) Release/obj.target/libxml/vendor/libxml/valid.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xinclude.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xlink.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlIO.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlmemory.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlmodule.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlreader.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlregexp.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlsave.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemas.o
../vendor/libxml/xmlschemas.c:24203:10: warning: explicitly assigning value of variable of type 'xmlSchemaValType' to itself [-Wself-assign]
        valType = valType;
        ~~~~~~~ ^ ~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemastypes.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlstring.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlunicode.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlwriter.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xpath.o
../vendor/libxml/xpath.c:12402:13: warning: comparison of constant 'XML_NAMESPACE_DECL' (18) with expression of type 'xmlXPathTypeVal' is always false [-Wtautological-constant-out-of-range-compare]
                        if (type == XML_NAMESPACE_DECL)
                            ~~~~ ^  ~~~~~~~~~~~~~~~~~~
In file included from ../vendor/libxml/xpath.c:185:
../vendor/libxml/trionan.c:194:1: warning: unused function 'trio_is_special_quantity' [-Wunused-function]
trio_is_special_quantity
^
../vendor/libxml/trionan.c:218:1: warning: unused function 'trio_is_negative' [-Wunused-function]
trio_is_negative
^
3 warnings generated.
  CC(target) Release/obj.target/libxml/vendor/libxml/xpointer.o
  LIBTOOL-STATIC Release/xml.a
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.
make: *** [Release/xml.a] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme/node_modules/libxmljs
gyp ERR! node -v v6.9.4
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
theaim@2.0.2 /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme
└── (empty)

npm WARN theaim@2.0.2 No description
npm WARN theaim@2.0.2 No repository field.
npm WARN theaim@2.0.2 No license field.
npm ERR! Darwin 16.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v6.9.4
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! libxmljs@0.8.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the libxmljs@0.8.1 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, 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 information on how to open an issue for this project with:
npm ERR!     npm bugs libxmljs
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls libxmljs
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme/npm-debug.log
npm ERR! code 1

我觉得我已经用尽了大部分选择,但我仍然没有看到它。我希望有人能对此有所启发。

解决方案似乎是将几件事结合起来:

  • 确保哪个 libtool 指向 /usr/bin/libtool
  • 确保 xcode 已更新
  • 使用 NVM + 节点 v0.10.48
  • 重新安装节点-sass & g运行t-cli
  • 重新运行 npm 安装
  • 运行g运行t