【问题标题】:Yeoman / NPM Error: node-gyp failsYeoman / NPM 错误:node-gyp 失败
【发布时间】:2016-07-11 22:24:32
【问题描述】:

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

在我自己的计算机上一切正常,但在我的工作笔记本电脑(我是管理员)上,我得到了所有这些错误。这是安装的模块和 VS(用于 MSBuild)。

安装者

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

模块

  • npm 版本 3.3.8
  • 哟版本1.4.8
  • 节点-gyp 3.0.3

我在网上查看过,但我能找到的大多数关于类似错误的信息都说要尝试。

npm install --msvs_version=2013

或者设置没有区别的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)

这里是 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"
  }
}

好的,这里有一点更新

我包含的日志消息不完整,并且有一些其他错误会显示 MSBuild 的路径。看起来它使用了错误的路径,所以我找到了正确的路径并使用了以下命令。

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 争吵之后,我现在可以正常工作了。

尝试了似乎不起作用的 crud 模块的子生成器,但我认为我需要降级,因为我认为生成器不是最新的。


Rémi Becheras 将此视为NPM Install Error - Node-Pre-Gyp 的可能副本

我确实通过谷歌搜索了所有我能找到的答案,包括这个。然而,原始帖子中缺乏上下文导致我发布了我自己的问题。

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

【问题讨论】:

  • 这个问题看起来与 Node 4 更新有关。他们在原生模块方面遇到了很多问题。不确定如何解决,但您可能应该搜索有关此的节点错误列表。
  • 是否可以使用 nvmw 安装旧版本的节点?
  • 是的,这可能值得。尝试使用节点 0.12
  • 也不适用于 0.12 :(
  • 我在 node 4.2.1generator-angular-fullstack 上尝试过这个,但在 npm install 上对我来说失败了。我将package.json 编辑为从grunt-node-inspector@~0.1.5 指向grunt-node-inspector@*,这样它就可以正常运行了,谢谢!

标签: node.js npm yeoman yeoman-generator node-gyp


【解决方案1】:

转到程序和功能,在 Visual Studio 上选择更改。确保您安装了 Visual C++ 的通用工具。还要确保您拥有 32 位或 64 位版本的所有内容(Nodejs、python、MSBuild)。

【讨论】:

    猜你喜欢
    • 2022-01-15
    • 2018-03-28
    • 1970-01-01
    • 2015-12-23
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 2020-04-26
    相关资源
    最近更新 更多