简体   繁体   English

Yeoman / NPM错误:node-gyp失败

[英]Yeoman / NPM Error: node-gyp fails

I am trying out Yeoman but I keep getting stuck when I run the "yo meanjs" command it asks me a couple of questions and then it says it is running npm install. 我正在尝试Yeoman,但是当我运行“ yo meanjs”命令时,它一直卡住,它询问了几个问题,然后说它正在运行npm install。 Give it a couple of minutes and it spits out the below errors. 给它几分钟,它会吐出以下错误。

It all works fine on my own computer but on my work laptop (which I am an admin on) I get all of these errors. 所有这些在我自己的计算机上都可以正常运行,但是在我的工作笔记本电脑上(我是管理员),我会收到所有这些错误。 Here are the modules and VS (for MSBuild) installed. 这是安装的模块和VS(用于MSBuild)。

Installers 安装程序

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

Modules 模块

  • npm version 3.3.8 npm版本3.3.8
  • yo version 1.4.8 yo版本1.4.8
  • node-gyp 3.0.3 节点gyp 3.0.3

I have looked about online but most info I can find on similar errors say to try. 我在网上看过,但是可以找到的大多数类似错误的信息都可以尝试。

npm install --msvs_version=2013 npm install --msvs_version = 2013

Or to set the python path which makes no difference. 或设置没有区别的python路径。

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)

Here is the package.json file created by the yo meanjs command: 这是yo meanjs命令创建的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"
  }
}

Okay so here is a bit of an update 好的,这里有一些更新

The log messages I included were not complete and had some other errors where it would show a path to MSBuild. 我包含的日志消息不完整,并且在显示MSBuild路径时存在其他一些错误。 It looks like it was using the wrong path so I found the correct path and used the following command. 看来它使用了错误的路径,因此我找到了正确的路径并使用了以下命令。

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

It was trying to access C:\\Program Files\\MSBuild\\Microsoft.Cpp\\v4.0\\V110 它正在尝试访问C:\\ Program Files \\ MSBuild \\ Microsoft.Cpp \\ v4.0 \\ V110

Might help someone but I still get the other errors. 可以帮助某人,但我仍然遇到其他错误。


It seems like grunt-node-inspector@~0.2.0 doesn't like compiling with node-gyp. 似乎grunt-node-inspector@~0.2.0不喜欢使用node-gyp进行编译。 I found the package.json file for the meanjs generator and was able to update this to grunt-node-inspector@* now it completes correctly! 我找到了meanjs生成器的package.json文件,并能够将其更新为grunt-node-inspector @ *,现在它可以正确完成! After some wrangling with mongodb I now have it kind of working. 经过与mongodb的争执之后,我现在开始工作了。

Tried the sub-generator for crud modules which doesn't seem to work but I think I will need to downgrade as I don't think the generator is up to date. 尝试使用似乎无法正常工作的Crud模块子生成器,但是我认为我需要降级,因为我认为生成器不是最新的。


Rémi Becheras has put this as a possible duplicate of NPM Install Error - Node-Pre-Gyp RémiBecheras认为这可能是NPM安装错误的重复-Node -Pre-Gyp

I did look though google for all answers I could find, including this one. 我确实通过google寻找了所有可以找到的答案,包括这个答案。 However the lack of context in the original post led me to post my own question. 但是,由于原始帖子缺乏上下文,我不得不发表自己的问题。

For example in the end the problem I had was that Yeoman was asking for version of NodeInspector that node-gyp can't (for some reason) compile. 例如,最后我遇到的问题是Yeoman要求Node-gyp无法编译(由于某种原因)的NodeInspector版本。

Go to Programs and Features, select change on visual studio. 转到程序和功能,选择Visual Studio上的更改。 Make sure you have Common Tools for Visual C++ installed. 确保您已安装Visual C ++的通用工具。 Also make sure you have either 32-bit or 64-bit version of everything (Nodejs, python, MSBuild). 还要确保您拥有所有版本的32位或64位版本(Nodejs,python,MSBuild)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM