我正在启动我的第一个 Node.js 服务器。我正在尝试学习 Node.js 中的教程。
安装Node.js并执行npm install
后,下一条指令是通过运行node server.js
来启动服务器,这会产生以下错误:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'express'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object.<anonymous> (/home/sisko/Desktop/ExerciseFiles/01/03/start/server.js:1:77)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:32)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
sisko@VirtualBox:~/Desktop/ExerciseFiles/01/03/start$
它似乎需要一个名为 express 的模块,所以我环顾四周,发现应该可以解决问题的 npm install express
命令。但是,我收到以下错误:
sisko@VirtualBox:~/Desktop/ExerciseFiles/01/03/start$ npm install express
npm http GET https://registry.npmjs.org/express
npm ERR! Error: failed to fetch from registry: express
npm ERR! at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR! at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
npm ERR! at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
npm ERR! at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
npm ERR! at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
npm ERR! at Request.emit (events.js:88:20)
npm ERR! at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
npm ERR! at ClientRequest.emit (events.js:67:17)
npm ERR! at HTTPParser.onIncoming (http.js:1261:11)
npm ERR! at HTTPParser.onHeadersComplete (http.js:102:31)
npm ERR! You may report this log at:
npm ERR! <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR! reportbug --attach /home/sisko/Desktop/ExerciseFiles/01/03/start/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.2.0-52-generic
npm ERR! command "node" "/usr/bin/npm" "install" "express"
npm ERR! cwd /home/sisko/Desktop/ExerciseFiles/01/03/start
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: express
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/sisko/Desktop/ExerciseFiles/01/03/start/npm-debug.log
npm not ok
最佳答案
似乎这是存储库的 SSL 证书问题,因为它适用于 HTTP,但不适用于 HTTPS。
仅用于故障排除
要进行故障排除,在您可以运行不受信任的代码的沙盒上,您可以通过在HTTP下尝试存储库来确认这一点不安全的黑客攻击 strong>:运行 npm config set registry http://registry.npmjs.org/
(或 whaterver repo),然后运行 npm install express
。
如果在 HTTPS 不支持的情况下仍然有效,则可能是 SSL 问题。
请不要将此不安全的配置用作修复程序。这不是一个修复。 从 HTTP 安装会让您从恶意来源运行代码。
修复是更新 node/npm 版本和/或修复 SSL。
关于javascript - Node.js npm install express 无法从注册表中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23025719/