I am doing npm install from a project and I am getting this wierd error in node-gyp.
我正在从一个项目进行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
When I do npm list, I get this following message.
当我做npm列表时,我得到以下消息。
npm ERR! missing: pty.js@>=0.2.2, required by terminal-codelearn@0.0.3
npm ERR! not ok code 0
Sorry, I am completely new to nodejs.
对不起,我是nodejs的新手。
2 个解决方案
#1
13
The reason this happens is that node-gyp
evaluates the -pre
part of node@0.11.8-pre
as -1
. The install then receives a 404
and fails.
发生这种情况的原因是node-gyp将node@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
To solve this problem, use a stable release of Node.js. Otherwise, you need to have the Node source lying around, and use the --nodedir
flag.
要解决此问题,请使用Node.js的稳定版本。否则,您需要使用Node源,并使用--nodedir标志。
npm install --nodedir=/node/src/
You can read more about this issue here.
您可以在此处详细了解此问题。
#2
2
I solved this by upgrading my version of node to a stable version (e.g. not a "pre" version - your version is 0.8.13-pre) with the following:
我通过将我的节点版本升级到稳定版本(例如,不是“预”版本 - 您的版本是0.8.13-pre)来解决这个问题,具体如下:
sudo npm install -g n # install node version manager "n"
sudo n stable # install the latest stable version of node
#1
13
The reason this happens is that node-gyp
evaluates the -pre
part of node@0.11.8-pre
as -1
. The install then receives a 404
and fails.
发生这种情况的原因是node-gyp将node@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
To solve this problem, use a stable release of Node.js. Otherwise, you need to have the Node source lying around, and use the --nodedir
flag.
要解决此问题,请使用Node.js的稳定版本。否则,您需要使用Node源,并使用--nodedir标志。
npm install --nodedir=/node/src/
You can read more about this issue here.
您可以在此处详细了解此问题。
#2
2
I solved this by upgrading my version of node to a stable version (e.g. not a "pre" version - your version is 0.8.13-pre) with the following:
我通过将我的节点版本升级到稳定版本(例如,不是“预”版本 - 您的版本是0.8.13-pre)来解决这个问题,具体如下:
sudo npm install -g n # install node version manager "n"
sudo n stable # install the latest stable version of node