Yeoman / NPM错误:node-gyp失败

我尝试了Yeoman,但是当我运行“yo meanjs”命令时,它一直在卡住,它问我几个问题,然后说它正在运行npm install。 给它几分钟,它吐出下面的错误。

这一切工作正常我自己的电脑,但在我的工作笔记本电脑(我是一个pipe理员)我得到所有这些错误。 这里是模块和VS(MSBuild)安装。

安装程序

  • Visual Studio 2013专业版
  • Python 2.7.10
  • Ruby 2.2.3p173
  • 节点版本4.2.1

模块

  • npm版本3.3.8
  • 哟版本1.4.8
  • node-gyp 3.0.3

我在网上看了一下,但是大部分的信息都可以在类似的错误上find。

npm install –msvs_version = 2013

或者设置没有区别的pythonpath。

npm http 304 https://registry.npmjs.org/cookiejar npm http 304 https://registry.npmjs.org/reduce-component npm http 304 https://registry.npmjs.org/formidable npm http 304 https://registry.npmjs.org/extend npm http 304 https://registry.npmjs.org/methods npm http 304 https://registry.npmjs.org/readable-stream npm http request GET https://registry.npmjs.org/async npm http request GET https://registry.npmjs.org/mime-types npm http 304 https://registry.npmjs.org/mime-types npm http 304 https://registry.npmjs.org/async npm http request GET https://registry.npmjs.org/mime-db npm http 304 https://registry.npmjs.org/mime-db npm WARN prefer global jshint@2.8.0 should be installed with -g npm WARN prefer global node-gyp@3.0.3 should be installed with -g npm WARN prefer global nodemon@1.3.8 should be installed with -g npm WARN prefer global node-inspector@0.10.2 should be installed with -g gyp ERR! build error gyp ERR! stack Error: `msbuild` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Users\graemm05\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\graemm05\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\NodeWebsites\ServerStatus2\node_modules\kerberos gyp ERR! node -v v4.2.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok gyp ERR! build error gyp ERR! stack Error: `msbuild` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Users\graemm05\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\graemm05\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\NodeWebsites\ServerStatus2\node_modules\bufferutil gyp ERR! node -v v4.2.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok npm WARN install:bufferutil@1.2.1 bufferutil@1.2.1 install: `node-gyp rebuild` npm WARN install:bufferutil@1.2.1 Exit status 1 gyp ERR! build error gyp ERR! stack Error: `msbuild` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Users\graemm05\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\graemm05\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\NodeWebsites\ServerStatus2\node_modules\node-inspector\node_modules\bufferutil gyp ERR! node -v v4.2.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok npm WARN install:bufferutil@1.1.0 bufferutil@1.1.0 install: `node-gyp rebuild` npm WARN install:bufferutil@1.1.0 Exit status 1 gyp ERR! build error gyp ERR! stack Error: `msbuild` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Users\graemm05\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\graemm05\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\NodeWebsites\ServerStatus2\node_modules\node-inspector\node_modules\utf-8-validate gyp ERR! node -v v4.2.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok npm WARN install:utf-8-validate@1.1.0 utf-8-validate@1.1.0 install: `node-gyp rebuild` npm WARN install:utf-8-validate@1.1.0 Exit status 1 gyp ERR! build error gyp ERR! stack Error: `msbuild` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Users\graemm05\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\graemm05\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\NodeWebsites\ServerStatus2\node_modules\utf-8-validate gyp ERR! node -v v4.2.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok npm WARN install:utf-8-validate@1.2.1 utf-8-validate@1.2.1 install: `node-gyp rebuild` npm WARN install:utf-8-validate@1.2.1 Exit status 1 node-pre-gyp http GET https://node-inspector.s3.amazonaws.com/debug/v0.4.6/node-v46-win32-ia32.tar.gz node-pre-gyp http 404 https://node-inspector.s3.amazonaws.com/debug/v0.4.6/node-v46-win32-ia32.tar.gz node-pre-gyp http Pre-built binary not available for your system, looked for https://node-inspector.s3.amazonaws.com/debug/v0.4.6/node-v46-win32-ia32.tar.gz (falling back to source compile with node-gyp) gyp ERR! build error gyp ERR! stack Error: `msbuild` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\NodeWebsites\ServerStatus2\node_modules\node-gyp\lib\build.js:270:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\NodeWebsites\\ServerStatus2\\node_modules\\node-gyp\\bin\\node-gyp.js" "build" "--fallback-to-build" "--module=C:\\NodeWebsites\\ServerStatus2\\node_modules\\v8-debug\\build\\debug\\v0.4.6\\node-v46-win32-ia32\\debug.node" "--module_name=debug" "--module_path=C:\\NodeWebsites\\ServerStatus2\\node_modules\\v8-debug\\build\\debug\\v0.4.6\\node-v46-win32-ia32" gyp ERR! cwd C:\NodeWebsites\ServerStatus2\node_modules\v8-debug gyp ERR! node -v v4.2.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\NodeWebsites\ServerStatus2\node_modules\node-gyp\bin\node-gyp.js build --fallback-to-build --module=C:\NodeWebsites\ServerStatus2\node_modules\v8-debug\build\debug\v0.4.6\node-v46-win32-ia32\debug.node --module_name=debug --module_path=C:\NodeWebsites\ServerStatus2\node_modules\v8-debug\build\debug\v0.4.6\node-v46-win32-ia32' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (C:\NodeWebsites\ServerStatus2\node_modules\v8-debug\node_modules\node-pre-gyp\lib\util\compile.js:83:29) node-pre-gyp ERR! stack at emitTwo (events.js:87:13) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:172:7) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:818:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) node-pre-gyp ERR! System Windows_NT 6.1.7601 node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\NodeWebsites\\ServerStatus2\\node_modules\\v8-debug\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd C:\NodeWebsites\ServerStatus2\node_modules\v8-debug node-pre-gyp ERR! node -v v4.2.1 node-pre-gyp ERR! node-pre-gyp -v v0.6.13 node-pre-gyp ERR! not ok npm WARN EPACKAGEJSON mean@0.0.0 No repository field. npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\graemm05\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" npm ERR! node v4.2.1 npm ERR! npm v3.3.8 npm ERR! code ELIFECYCLE npm ERR! v8-debug@0.4.6 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the v8-debug@0.4.6 install script 'node-pre-gyp install --fallback-to-build'. npm ERR! This is most likely a problem with the v8-debug package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-pre-gyp install --fallback-to-build npm ERR! You can get their info via: npm ERR! npm owner ls v8-debug npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! C:\NodeWebsites\ServerStatus2\npm-debug.log at ChildProcess.exithandler (child_process.js:203:12) at emitTwo (events.js:87:13) at ChildProcess.emit (events.js:172:7) at maybeClose (internal/child_process.js:818:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) 

这是由yo meanjs命令创build的package.json文件:

 { "name": "mean", "description": "Full-Stack JavaScript with MongoDB, Express, AngularJS, and Node.js", "version": "0.0.0", "meanjs-version": "0.4.0", "author": "", "license": "MIT", "engines": { "node": ">=0.10.28", "npm": ">=1.4.28" }, "scripts": { "start": "grunt", "test": "grunt test", "postinstall": "bower install --config.interactive=false" }, "dependencies": { "acl": "~0.4.4", "async": "^1.3.0", "body-parser": "^1.13.1", "bower": "^1.4.1", "chalk": "^1.1.0", "compression": "^1.5.0", "connect-flash": "~0.1.1", "connect-mongo": "~0.8.1", "consolidate": "~0.13.1", "cookie-parser": "^1.3.2", "express": "^4.13.1", "express-session": "^1.11.3", "forever": "~0.14.2", "glob": "^5.0.13", "grunt-cli": "~0.1.13", "grunt": "0.4.5", "helmet": "~0.9.1", "jasmine-core": "^2.3.4", "lodash": "^3.10.0", "method-override": "^2.3.3", "mocha": "~1.20.0", "mongoose": "^4.0.6", "morgan": "^1.6.1", "multer": "0.1.8", "node-pre-gyp": "0.6.4", "nodemailer": "^1.4.0", "passport": "~0.2.2", "passport-facebook": "^2.0.0", "passport-github": "~0.1.5", "passport-google-oauth": "~0.2.0", "passport-linkedin": "~0.1.3", "passport-local": "^1.0.0", "passport-paypal-openidconnect": "^0.1.1", "passport-twitter": "^1.0.2", "phantomjs": ">=1.9.0", "serve-favicon": "^2.3.0", "socket.io": "^1.3.5", "swig": "^1.4.2", "validator": "^3.41.2" }, "devDependencies": { "grunt-concurrent": "^2.0.0", "grunt-contrib-copy": "~0.8.0", "grunt-contrib-csslint": "~0.4.0", "grunt-contrib-cssmin": "~0.12.3", "grunt-contrib-jshint": "~0.11.2", "grunt-contrib-less": "^1.0.1", "grunt-contrib-sass": "~0.9.2", "grunt-contrib-uglify": "~0.9.1", "grunt-contrib-watch": "~0.6.1", "grunt-env": "~0.4.4", "grunt-karma": "~0.11.2", "grunt-mocha-test": "~0.12.7", "grunt-ng-annotate": "^1.0.1", "grunt-node-inspector": "~0.2.0", "grunt-nodemon": "~0.4.0", "grunt-protractor-runner": "^2.0.0", "gulp": "^3.9.0", "gulp-concat": "^2.6.0", "gulp-csslint": "~0.1.5", "gulp-cssmin": "~0.1.7", "gulp-jshint": "^1.11.2", "gulp-karma": "~0.0.4", "gulp-less": "^3.0.3", "gulp-livereload": "^3.8.0", "gulp-load-plugins": "^1.0.0-rc.1", "gulp-mocha": "^2.1.2", "gulp-ng-annotate": "^1.0.0", "gulp-nodemon": "^2.0.3", "gulp-protractor": "^1.0.0", "gulp-rename": "^1.2.2", "gulp-sass": "^2.0.3", "gulp-uglify": "^1.2.0", "karma": "~0.12.37", "karma-chrome-launcher": "~0.2.0", "karma-coverage": "~0.4.2", "karma-firefox-launcher": "~0.1.6", "karma-jasmine": "~0.3.6", "karma-ng-html2js-preprocessor": "^0.1.2", "karma-phantomjs-launcher": "~0.2.0", "load-grunt-tasks": "^3.2.0", "run-sequence": "^1.1.1", "should": "^7.0.1", "supertest": "^1.0.1" } } 

好的,这是一个更新

我包含的日志消息不完整,并有一些其他错误,它会显示一个MSBuild的path。 它看起来像使用了错误的path,所以我find了正确的path,并使用下面的命令。

 set VCTargetsPath=C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V120 

它试图访问C:\ Program Files \ MSBuild \ Microsoft.Cpp \ v4.0 \ V110

可能帮助别人,但我仍然得到其他的错误。


grunt-node-inspector@~0.2.0似乎不喜欢用node-gyp编译。 我发现了meanjs生成器的package.json文件,并且能够将其更新到grunt-node-inspector @ *现在它正确地完成了! 经过与Mongodb的一些争吵,我现在有它的工作。

尝试了子发电机的克鲁德模块似乎并不工作,但我想我需要降级,因为我不认为发电机是最新的。


RémiBecheras已经把它作为NPM Install Error – Node-Pre-Gyp的一个重复

我看了谷歌虽然我能find的所有答案,包括这一个。 然而原帖中缺less背景使我发表了自己的问题。

例如,最后我遇到的问题是,Yeoman要求node-gyp不能(出于某种原因)编译的NodeInspector版本。

转到程序和function,selectVisual Studio上的更改。 确保你已经安装了Visual C ++的通用工具。 还要确保你有32位或64位的版本(Nodejs,python,MSBuild)。