使用npm i编译本机节点模块失败,可以使用node-gyp rebuild

时间:2017-04-03 15:12:50

标签: node.js npm node-gyp

我尝试使用

编译本机节点模块
npm i

失败,错误

gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:305:16)
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 Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\bitbucket\node\native_modules
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

但是,如果我使用

手动运行node-gyp命令
node-gyp rebuild

然后它工作正常。

我注意到node-gyp --version返回v3.6.0,而在上面的错误消息中,v3.4.0正在运行npm

如何更新{{1}}以使用更新版本(似乎可以正常使用)?

另外,为什么这会在旧版本上失败?

我尝试了这里的说明https://github.com/nodejs/node-gyp/wiki/Updating-npm's-bundled-node-gyp他们似乎无法工作。我在Windows 10上。

1 个答案:

答案 0 :(得分:0)

我现在有这个工作。这是我做的:

打开命令提示符(以管理员身份运行)。 cd到节点安装文件夹,然后运行:

C:\Program Files\nodejs\node_modules\npm>npm uninstall node-gyp --save

C:\Program Files\nodejs\node_modules\npm>npm install node-gyp --save