Node.js 是什么导致节点gyp错误?
最近,我安装了mongoose和一些模块。在节点4.0.0v中 安装mongoose时没有错误。 但是,现在我安装node 4.2.2v,并使用Node.js 是什么导致节点gyp错误?,node.js,npm,node-gyp,Node.js,Npm,Node Gyp,最近,我安装了mongoose和一些模块。在节点4.0.0v中 安装mongoose时没有错误。 但是,现在我安装node 4.2.2v,并使用rm-rf node modules删除所有模块,然后使用npm install和这个json文件重新安装 { "name": "MEAN", "version": "0.0.3", "dependencies": { "body-parser": "^1.14.1", "compression": "^1.6.0",
rm-rf node modules
删除所有模块,然后使用npm install
和这个json文件重新安装
{
"name": "MEAN",
"version": "0.0.3",
"dependencies": {
"body-parser": "^1.14.1",
"compression": "^1.6.0",
"connect-flash": "^0.1.1",
"connect-mongo": "^0.4.2",
"cookie-parser": "^1.4.0",
"ejs": "^2.3.4",
"express": "^4.13.3",
"express-session": "^1.12.1",
"method-override": "^2.3.5",
"mongoose": "^4.2.4",
"morgan": "^1.6.1",
"passport": "^0.3.0",
"passport-local": "^1.0.0",
"socket.io": "^1.3.7"
}
}
然后它会导致很多这样的错误
gyp ERR!构建错误
哎呀!堆栈错误:`make`失败,退出代码:2
哎呀!堆栈位于ChildProcess.onExit(/usr/local/lib/node_modules/npm/node_modules/node gyp/lib/build.js:270:23)
哎呀!在emitTwo处堆栈(events.js:87:13)
哎呀!ChildProcess.emit处的堆栈(events.js:172:7)
哎呀!在Process.ChildProcess.\u handle.onexit(internal/child\u Process.js:200:12)处堆栈
哎呀!达尔文系统14.3.0
哎呀!命令“/usr/local/bin/node”“/usr/local/lib/node_modules/npm/node_modules/node gyp/bin/node gyp.js”“重建”
哎呀!cwd/Users/afuser/Desktop/wonchan/mean/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil
哎呀!节点-v4.2.2
哎呀!节点gyp-v3.0.3
哎呀!不好
npm警告可选dep失败,继续utf-8-validate@1.2.1
我找到了解决这个错误的答案。
但是,我真正想知道的是为什么安装mongoose 3.8.3不会出错。
我认为Mongoose3.8.3是纯JS,Mongoose4.x是本机模块。
我认为什么是正确的?尝试
sudo npm安装
如果失败,安装n(sudo npm安装n-g
)并像这样使用:n节点稳定
和n npm稳定
然后再次尝试sudo npm安装
。尝试sudo npm安装
如果失败,安装n(sudo npm安装n-g
)然后像这样使用:n node stable
和n npm stable
然后再次尝试sudo npm install
。