npm安装时发生node-gyp错误

aelbi1ox  于 2023-04-29  发布在  Node.js
关注(0)|答案(6)|浏览(582)

我正在做npm安装从一个项目,我得到这个wierd错误在node-gyp。

> pty.js@0.2.3 install /home/charizard/Open/terminal-codelearn/node_modules/pty.js
> node-gyp rebuild

npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/nan
npm http GET https://registry.npmjs.org/tinycolor
npm http GET https://registry.npmjs.org/options
gyp ERR! configure error 
gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead
gyp ERR! stack     at install (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:65:16)
gyp ERR! stack     at Object.self.commands.(anonymous function) [as install] (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js:66:37)
gyp ERR! stack     at getNodeDir (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:228:20)
gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:110:9
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:659:7)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:106:17)
gyp ERR! stack     at maybeClose (child_process.js:773:16)
gyp ERR! stack     at Socket.<anonymous> (child_process.js:986:11)
gyp ERR! stack     at Socket.EventEmitter.emit (events.js:103:17)
gyp ERR! stack     at Pipe.close (net.js:458:12)
gyp ERR! System Linux 3.5.0-37-generic
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/charizard/Open/terminal-codelearn/node_modules/pty.js
gyp ERR! node -v v0.11.8-pre
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok 
npm ERR! weird error 1

当我运行npm list时,我得到以下消息。

npm ERR! missing: pty.js@>=0.2.2, required by terminal-codelearn@0.0.3
npm ERR! not ok code 0

对不起,我对nodejs完全陌生。

kmb7vmvb

kmb7vmvb1#

发生这种情况的原因是node-gypnode@0.11.8-pre-pre部分计算为-1。然后安装收到404并失败。

gyp http GET http://nodejs.org/dist/v0.8.-1/node-v11.8.-1.tar.gz
gyp http 404 http://nodejs.org/dist/v0.8.-1/node-v11.8.-1.tar.gz

要解决此问题,请使用稳定版本的Node。js。否则,您需要将Node源代码放在周围,并使用--nodedir标志。

npm install --nodedir=/node/src/

您可以阅读更多关于此问题here

kpbwa7wx

kpbwa7wx2#

我通过将我的node版本升级到稳定版本(e.不是“预”版本-您的版本为0。8.13-pre),其中包括:

sudo npm install -g n # install node version manager "n"
sudo n stable # install the latest stable version of node
piok6c0g

piok6c0g3#

我在安装node-sasswindows-build-tools时遇到了同样的问题。我使用的是node-v16.2.0,所以它不是任何-pre版本。我也更新到了最新版本(node-v16.3.0),但它也没有解决我的问题。
最后,我通过卸载现有版本并安装LTS版本(发布时为v14.17.0)解决了这个问题。

vs91vp4v

vs91vp4v4#

我也有同样的问题。降级到旧版本的节点版本解决了问题。我用nvm管理不同版本的node。查看更多详情here

nvm list   

    16.10.0
    16.3.0
  * 14.15.0 (Currently using 64-bit executable)
x8diyxa7

x8diyxa75#

node-gyp错误是npm安装过程中的一个常见问题,当一个包需要编译一个本机模块时。发生此错误的原因是本机模块需要在本地计算机上编译,但它需要安装某些工具和依赖项。

npm install -g node-gyp

如果这些步骤不能解决问题,您可能需要查看软件包文档以获取任何其他说明,或者联系软件包维护人员以获得支持。

kcugc4gi

kcugc4gi6#

我在安装node-sass时遇到了同样的问题:
我通过卸载node-sass解决了这个问题:

node uninstall node-sass

然后像这样安装它,它将为您工作:

node install sass --save

相关问题