javascript - Node.js npm install express 无法从注册表中获取

标签 javascript node.js ubuntu backbone.js

我正在启动我的第一个 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/

相关文章:

python - Django pymssql 迁移

node.js - 如何在node.js中顺序显示文件夹的所有图像

linux - 访问 nginx、ubuntu 17 的文件夹 jenkins 工作区

javascript - 使用淡出扩展文本部分

javascript - 从键盘输入后启用/禁用文本区域

javascript - 调用异步函数内部有更多的异步函数

node.js - Sequelize 不生成连接表或获取/添加方法

linux - Ubuntu新用户登录但username@不存在

javascript - 模块化 js 模式中的 Webfont Loader

javascript - 将 cookie 复制到另一个域