运行npm install时无法验证第一个证书

时间:2016-10-12 14:15:24

标签: angularjs node.js ubuntu ssl

我正在查看Angular2教程: https://github.com/angular/quickstart/blob/master/README.md

但是,当我按照指南运行npm install时,我最初得到了与UNABLE_TO_VERIFY_LEAF_SIGNATURE相关的错误。 谷歌上的哪一个似乎与SSL证书有关,所以我试图通过使用以下命令解决这个问题:

npm config set strict-ssl false

然后我重试了npm install

这有点进一步,但随后得到了与#34无关的新错误;无法验证第一个证书 &#34 ;: 打字ERR!消息无法连接到" https://api.typings.org/entries/dt/core-js/tags/0.0.0%2B20160725163759" 打字ERR!由无法验证第一个证书引起的

打字ERR! cwd c:\ Code \ Angular2 \ Quickstart 打字ERR!系统Windows_NT 6.1.7601 打字ERR!命令" C:\ Program Files \ nodejs \ node.exe" " C:\代码\ Angular2 \快速开始\ node_modules \分型\ DIST \ bin.js" "安装" 打字ERR! node -v v6.7.0 打字ERR! typings -v 1.4.0 打字ERR!代码EUNAVAILABLE

打字ERR!如果您需要帮助,可以在以下位置报告此错误: 打字ERR! https://github.com/typings/typings/issues

npm WARN可选跳过失败的可选依赖项/ chokidar / fsevents: npm WARN notsup与您的操作系统或体系结构不兼容:fsevents@1.0.14 npm WARN angular-quickstart@1.0.0没有许可证字段。 错误的ERR! Windows_NT 6.1.7601 错误的ERR! argv" C:\ Program Files \ nodejs \ node.exe" " C:\ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js" "安装" 错误的ERR!节点v6.7.0 错误的ERR! npm v3.10.3 错误的ERR!代码ELIFECYCLE 错误的ERR! angular-quickstart@1.0.0 postinstall:typings install 错误的ERR!退出状态1 错误的ERR! 错误的ERR!在angular-quickstart@1.0.0 postinstall脚本' typings install'失败。 错误的ERR!确保安装了最新版本的node.js和npm。 错误的ERR!如果这样做,这很可能是angular-quickstart包的问题, 错误的ERR!不是与npm本身。 错误的ERR!告诉作者你的系统失败了: 错误的ERR!打字安装 错误的ERR!您可以通过以下方式获取有关如何为此项目打开问题的信息: 错误的ERR! npm bugs angular-quickstart 错误的ERR!或者如果不可用,您可以通过以下方式获取他们的信息: 错误的ERR! npm owner ls angular-quickstart 错误的ERR!上面可能有额外的日志记录输出。

npm ERR!请在任何支持请求中包含以下文件: 错误的ERR! C:\代码\ Angular2 \快速开始\ NPM-的debug.log

我是NodeJS和Angular2开发的新手。有任何想法吗 ? 如果我遗漏了任何细节,请告诉我。

4 个答案:

答案 0 :(得分:3)

对于我来说,将.npmrc中的ca文件添加到公司代理证书中就是解决方案:

npm config set cafile "path to proxy cert file"

或在.npmrc中插入编辑器:

cafile=<path to proxy cert file>

.npmrc文件位于主目录中。

答案 1 :(得分:1)

我可以使用以下说明解决问题: https://github.com/typings/typings/issues/564

问题最终与我的机器背后的某些公司代理有关,这似乎与npm无法对代理进行身份验证https有关。 由于我没有关于正在使用的代理的任何进一步信息,因此无法根据上面的@leetibbett建议进行配置。 所以我在根目录中创建了.typingsrc文件以使用http版本:

{
     "rejectUnauthorized": false,
     "registryURL": "http://api.typings.org/"
}

答案 2 :(得分:1)

您可以尝试将注册表更改为config

中的http版本
npm config set registry http://registry.npmjs.org/ --global

答案 3 :(得分:0)

我卸载了节点Js 12,然后重新安装了版本10。这解决了我的问题。我不确定问题是否出在版本上,但是您可以尝试。希望对您有所帮助。