当前位置: 首页 > 知识库问答 >
问题:

npm安装错误-无法获取本地颁发者证书

裴成文
2023-03-14

执行npm安装时,我收到一个“无法获取本地颁发者证书”错误:

typings ERR! message Unable to read typings for "es6-shim". You should check the
 entry paths in "es6-shim.d.ts" are up to date
typings ERR! caused by Unable to connect to "https://raw.githubusercontent.com/D
efinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/es6-shim
/es6-shim.d.ts"
typings ERR! caused by unable to get local issuer certificate

我最近从一个更早的版本更新到了node 4,当出现此类问题时,听起来node要严格得多。

这里讨论了一个关于使用ca文件的问题,但这有点超出我的理解,我不确定该怎么办。

我在公司防火墙后面,但我可以在浏览器中不受任何限制地访问网址。

有人对这个问题有进一步的了解吗?有什么可能的解决方案?

我想知道同时恢复到节点0.12:(

共有3个答案

柯甫
2023-03-14

这对我很有用:

export NODE_TLS_REJECT_UNAUTHORIZED=0

有关用法和警告,请参阅NodeJS文档:https://nodejs.org/api/cli.html#cli_node_tls_reject_unauthorized_value

酆出野
2023-03-14

这里讨论了一个关于使用ca文件的问题,但这有点超出我的理解,我不确定该怎么办。

一旦你知道怎么做,这并不难!对于Windows:

使用Chrome转到NPM抱怨的根URL(在您的情况下https://raw.githubusercontent.com)。打开开发工具并转到安全-

您需要将此从DER转换为PEM。有几种方法可以做到这一点,但我找到的最简单的方法是一个在线工具,它应该很容易找到相关的关键字。

现在,如果使用您最喜爱的文本编辑器打开键,您应该会看到

-----BEGIN CERTIFICATE----- 

yourkey

-----END CERTIFICATE-----

这是您需要的格式。您可以根据需要对任意多个密钥执行此操作,并将它们组合到一个文件中。在我的案例中,我不得不使用github和npm注册表项。

现在只需编辑您的。npmrc指向包含密钥的文件,如下所示

cafile=C:\workspace\rootCerts.crt

我个人发现,与严格的ssl选项相比,在我们的公司代理背后,这一点的性能要好得多。YMMV。

蒲昊苍
2023-03-14

试试吧

npm配置设置严格-ssl false

这是此url中共享的替代https://github.com/nodejs/node/issues/3742

 类似资料:
  • 问题内容: 执行npm安装时出现错误: 我最近从一个较早的版本更新到了节点4,这听起来好像在出现此类问题时节点变得更加严格。 这里讨论了一个有关使用ca文件的问题,但这超出了我的理解,我不确定该怎么做。 我位于公司防火墙的后面,但是我可以不受限制地在浏览器中访问url。 有谁对这个问题有进一步的了解,有什么可能的解决方案? 我想知道与此同时恢复到节点0.12 :( 问题答案: 可以使用配置文件来配

  • 我有一个简单的链设置,在这种情况下可以成功验证: 然而,在这些情况下,我会遇到错误: 特别是无法获得颁发者证书。 不知道该怎么做。 在这里他们说: OpenSSL无法为颁发者(或TLS握手期间从web服务器接收的链中第一个证书的颁发者)找到用于验证签名的本地证书。 此问题通常由日志消息表示,例如“无法获得本地颁发者证书”或“自签名证书”。当一个证书被验证时,它的根CA必须被OpenSSL“信任”,

  • 我正在Windows7上运行PHP版本5.6.3作为XAMPP的一部分。 当我尝试使用Mandrill API时,我得到以下错误: 未捕获异常“Mandrill_HttpError”,消息为“API调用消息/send-template失败:SSL证书问题:无法获取本地颁发者证书” 我已经尝试了在StackOverflow上读到的所有内容,包括向php.ini文件添加以下内容: 当然可以从http:

  • 问题内容: 我正在Windows 7上将PHP版本5.6.3作为XAMPP的一部分运行。 当我尝试使用Mandrill API时,出现以下错误: 消息“ API调用消息/发送模板失败”的未捕获异常“ Mandrill_HttpError”:SSL证书问题:无法获取本地颁发者证书 我已经尝试了我在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中: 当然,还可以从h

  • 问题内容: 我在本地开发环境上使用WAMP,并尝试从信用卡中扣款,但收到错误消息: cURL错误60:SSL证书问题:无法获取本地颁发者证书 我在Google上进行了很多搜索,很多人建议我下载此文件:cacert.pem,将其放在某个位置,然后在php.ini中引用它。这是我的php.ini中的部分: 但是,即使多次重新启动服务器并更改了路径后,我仍然收到相同的错误消息。 我使用来自Apache模

  • 我在Google上搜索了很多,很多人建议我下载这个文件:cacert.pem,把它放在某个地方,并在我的php.ini中引用它。这是我的php.ini中的部分: 然而,即使在重新启动服务器几次并更改路径后,我也会得到相同的错误消息。 我使用Apache模块中的WAMP并启用ssl_module。在PGP扩展中,我启用了php_curl。 这是我正在运行的代码: