我已经在pc上安装并运行了node.js.当我如下所示制作一个pakage.json时,然后在该文件夹中运行cmd
npm install socket.io
或
npm install
它给出错误
unable to verify the first certificate
我该如何解决这个问题?
{
"name": "app",
"version": "0.0.1",
"description": "app",
"dependencies": {
"socket.io": "latest"
},
"author": "shadryck"
}
注意:我对node.js和socket.io完全不熟悉。我只是想以某种方式开始使用它。
注意:如果出于某种原因,您至少要对此进行投票,至少可以解释原因。我做了我的研究,无法在任何地方找到答案。
更新:通过重新安装node.js并在没有重新启动它很长时间后重新启动它来修复它。
UPDATE:安装了python,但现在却抱怨更多的错误。 screenie
答案 0 :(得分:8)
由于您不在代理服务器之后,我认为这可能是SSL信任机构信任的问题。
首先,您可以尝试强制NPM使用已知的注册商
npm config set ca ""
如果这不起作用,可能是因为安装中缺少证书。
您可以尝试按照以下顺序重新安装/升级具有相应证书的NPM
npm config set ca ""
npm install npm -g
npm config delete ca
如果仍然失败,则可能必须强行下载丢失的CA.幸运的是,有一个图书馆可以解决这个问题。不幸的是,这个过程中存在安全隐患。 (我愿意听取改进意见!)。
首先,使用
关闭npm中的ssl(这是安全隐患)npm config set strict-ssl false
然后你可以安装
npm install ssl-root-cas
然后只需键入node并在REPL类型中
var sslRootCAs = require('ssl-root-cas/latest')
sslRootCAs.inject()
然后返回SSL并测试
npm config set strict-ssl false
答案 1 :(得分:0)
您也可以通过运行来切换到使用常规HTTP注册表而不是默认的HTTPS注册表:
npm config set registry http://registry.npmjs.org/
中所述