简体   繁体   English

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

[英]unable to verify the first certificate when running npm install

I'm was looking at the Angular2 tutorial on: https://github.com/angular/quickstart/blob/master/README.md我正在查看 Angular2 教程: https : //github.com/angular/quickstart/blob/master/README.md

However, when I run the npm install as per the guide, i initially got an error related to UNABLE_TO_VERIFY_LEAF_SIGNATURE .但是,当我按照指南运行 npm install 时,我最初遇到了与UNABLE_TO_VERIFY_LEAF_SIGNATURE相关的错误。 Which on googling seemed related to SSL cert so I then attempted to just get around this by using the following command:谷歌搜索似乎与 SSL 证书有关,因此我尝试使用以下命令解决此问题:

npm config set strict-ssl false

I then retried npm install然后我重试了npm install

This got a bit further but then got new errors related to "unable to verify the first certificate":这有点进一步,但随后出现了与“无法验证第一个证书”相关的新错误:

 typings ERR! message Unable to connect to "https://api.typings.org/entries/dt/core-js/tags/0.0.0%2B20160725163759" typings ERR! caused by unable to verify the first certificate typings ERR! cwd c:\\Code\\Angular2\\Quickstart typings ERR! system Windows_NT 6.1.7601 typings ERR! command "C:\\\\Program Files\\\\nodejs\\\\node.exe" "c:\\\\Code\\\\Angular2\\\\Quickstart\\\\node_modules\\\\typings\\\\dist\\\\bin.js" "install" typings ERR! node -v v6.7.0 typings ERR! typings -v 1.4.0 typings ERR! code EUNAVAILABLE typings ERR! If you need help, you may report this error at: typings ERR! <https://github.com/typings/typings/issues> npm WARN optional Skipping failed optional dependency /chokidar/fsevents: npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.14 npm WARN angular-quickstart@1.0.0 No license field. npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\\\Program Files\\\\nodejs\\\\node.exe" "C:\\\\Program Files\\\\nodejs\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js" "install" npm ERR! node v6.7.0 npm ERR! npm v3.10.3 npm ERR! code ELIFECYCLE npm ERR! angular-quickstart@1.0.0 postinstall: `typings install` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the angular-quickstart@1.0.0 postinstall script 'typings install'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the angular-quickstart package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! typings install npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs angular-quickstart npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls angular-quickstart npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! c:\\Code\\Angular2\\Quickstart\\npm-debug.log

I'm new to NodeJS and Angular2 development.我是 NodeJS 和 Angular2 开发的新手。 Any ideas ?有任何想法吗 ? If I have missed out any detail then let me know.如果我遗漏了任何细节,请告诉我。

In my case adding the ca-file in .npmrc to the corporate proxy certificate was the solution:在我的情况下,将 .npmrc 中的 ca 文件添加到公司代理证书是解决方案:

npm config set cafile "path to proxy cert file"

or insert with editor in .npmrc:或在 .npmrc 中使用编辑器插入:

cafile=<path to proxy cert file>

The .npmrc file is located in the home directory. .npmrc 文件位于主目录中。

您可以尝试将注册表更改为config中的http版本

npm config set registry http://registry.npmjs.org/ --global

I was able to resolve the issue by using the instructions here: https://github.com/typings/typings/issues/564 我可以通过使用这里的说明解决问题: https//github.com/typings/typings/issues/564

The issue is ultimately related to my machine being behind some corporate proxy which seems to be related to npm unable to authenticate https against the proxy. 问题最终与我的机器背后的某些公司代理相关,这似乎与npm无法对代理进行身份验证https有关。 Since I didn't have any further information about the proxy being used so was unable to configure as per @leetibbett suggestion above. 由于我没有关于正在使用的代理的任何进一步信息,因此无法根据上面的@leetibbett建议进行配置。 So I created .typingsrc file in the root directory to use http version: 所以我在根目录下创建了.typingsrc文件以使用http版本:

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

I uninstalled the node Js 12 and reinstalled the version 10. That solved my problem. 我卸载了节点Js 12并重新安装了版本10.这解决了我的问题。 I am not sure if the problem was the version, but you can try. 我不确定问题是否是版本,但您可以尝试。 I hope that has helped you. 我希望这对你有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM