Rub*_*ans 16 ubuntu ssl node.js angularjs
我正在查看 Angular2 教程:https : //github.com/angular/quickstart/blob/master/README.md
但是,当我按照指南运行 npm install 时,我最初遇到了与UNABLE_TO_VERIFY_LEAF_SIGNATURE. 谷歌搜索似乎与 SSL 证书有关,因此我尝试使用以下命令解决此问题:
npm config set strict-ssl false
Run Code Online (Sandbox Code Playgroud)
然后我重试 npm install
这有点进一步,但随后出现了与“无法验证第一个证书”相关的新错误:
Run Code Online (Sandbox Code Playgroud)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
我是 NodeJS 和 Angular2 开发的新手。有任何想法吗 ?如果我遗漏了任何细节,请告诉我。
Thi*_*cao 14
您可以尝试在配置中将注册表更改为 http 版本
npm config set registry http://registry.npmjs.org/ --global
Run Code Online (Sandbox Code Playgroud)
在我的情况下,将 .npmrc 中的 ca 文件添加到公司代理证书是解决方案:
npm config set cafile "path to proxy cert file"
Run Code Online (Sandbox Code Playgroud)
或在 .npmrc 中使用编辑器插入:
cafile=<path to proxy cert file>
Run Code Online (Sandbox Code Playgroud)
.npmrc 文件位于主目录中。
我能够使用此处的说明解决该问题: https://github.com/typings/typings/issues/564
这个问题最终与我的机器位于某个公司代理后面有关,这似乎与 npm 无法针对代理对 https 进行身份验证有关。由于我没有有关所使用代理的任何进一步信息,因此无法按照上面的 @leetibbett 建议进行配置。所以我在根目录中创建了 .typingsrc 文件以使用http版本:
{
"rejectUnauthorized": false,
"registryURL": "http://api.typings.org/"
}
Run Code Online (Sandbox Code Playgroud)