今天是个好日子,
我尝试在我的 PC 上安装 Phonegap,但是遇到了问题,希望有人能帮助我。
这是 ubuntu 版本
Distributor ID: Ubuntu
Description: Ubuntu 12.04.4 LTS
Release: 12.04
Codename: precise
这是我安装过程中的错误
$ npm http GET https://registry.npmjs.org/phonegap
npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR! at ClientRequest. (/usr/local/lib/node_modules/npm/node_modules/request/main.js:483:26)
npm ERR! at ClientRequest.g (events.js:156:14)
npm ERR! at ClientRequest.emit (events.js:67:17)
npm ERR! at HTTPParser.onIncoming (http.js:1294:11)
npm ERR! at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:91:29)
npm ERR! at CleartextStream.ondata (http.js:1176:24)
npm ERR! at CleartextStream._push (tls.js:375:27)
npm ERR! at SecurePair.cycle (tls.js:734:20)
npm ERR! at EncryptedStream.write (tls.js:130:13)
npm ERR! at Socket.ondata (stream.js:38:26)
npm ERR! You may report this log at:
npm ERR!
npm ERR! or email it to:
npm ERR!
npm ERR!
npm ERR! System Linux 3.8.0-37-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "-gf" "phonegap"
npm ERR! cwd /home/my_name
npm ERR! node -v v0.6.17
npm ERR! npm -v 1.1.21
npm ERR! message SSL Error: CERT_UNTRUSTED
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/my_name/npm-debug.log
npm not ok
谢谢,
王
答案1
希望您在过去 6 个月内找到了答案,但如果有人仍然遇到这个问题,这里有一些选择:
更新节点 + NPM
如果你通过官方 12.04 存储库安装了 Node.js(从这一行来看,似乎是这样:)node -v v0.6.17
,那么你的 Node 版本现在已经严重过时了。
早在二月底,也就是这个问题发布前不久,npm 停止支持自签名证书。因此,许多从事 Node 项目的人都遇到了类似的问题。如何解决?更新 npm。
有关升级的说明,请参阅AskUbuntu 上的这个问题. 我个人建议管理使用 NVM 的节点版本,但你也可以通过 PPA 获取最新版本。
生活在代理之后
如果您尝试通过代理(例如在公司办公室)访问 npm 存储库,也可能会遇到此类问题。虽然这不太可能是您遇到的问题,但可以通过以下方法解决(摘自这里):
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
npm install
您还可以通过运行以下命令为单个命令设置代理:
npm --https-proxy=http://proxy.company.com install express -g
不要禁用 SSL 检查
确实,您可以通过将 npm 的strict-ssl
设置设为 来抑制错误false
。禁用安全警告不是一个好主意。
答案2
尝试设置:
npm config set strict-ssl false