【问题标题】:node-gyp error while doing npm install执行 npm install 时出现 node-gyp 错误
【发布时间】:2013-09-17 15:26:46
【问题描述】:

我正在从一个项目中进行 npm 安装,但我在 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 完全陌生。

【问题讨论】:

    标签: node.js pty


    【解决方案1】:

    发生这种情况的原因是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

    【讨论】:

      【解决方案2】:

      我通过将我的节点版本升级到稳定版本(例如,不是“pre”版本 - 您的版本是 0.8.13-pre)解决了这个问题:

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

      【讨论】:

        【解决方案3】:

        我在安装node-sasswindows-build-tools 时遇到了同样的问题。我使用的是node-v16.2.0,所以它不是任何-pre 版本。我也更新到了最新版本 (node-v16.3.0),但它也没有解决我的问题。

        最后,我通过卸载现有版本并安装 LTS 版本(发帖时v14.17.0)解决了这个问题。

        【讨论】:

          猜你喜欢
          • 2018-02-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-04-25
          • 2019-04-21
          • 1970-01-01
          • 2021-12-14
          • 1970-01-01
          相关资源
          最近更新 更多