首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows上的npm安装失败,出现签名错误

问Windows上的npm安装失败,出现签名错误
EN

Stack Overflow用户
提问于 2020-06-04 01:21:27
回答 2查看 1.8K关注 0票数 12

我使用nvm来管理我的节点版本。我有一个项目,用户节点6.10.2。对于像npm install -g gulp这样简单的东西,我得到了以下错误:

代码语言:javascript
复制
write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:20

我已经将strict-ssl false添加到我的配置中,但这并没有帮助。我没有在代理服务器后面,我已经在我的公司防火墙,家庭网络,甚至我的移动热点后面尝试过了,所有这些都是同样的错误。我改为使用http://而不是https://,使用npm config set registry http://registry.npmjs.org/可以让我跳过gulp错误,但对于其他包,错误会返回(可能是因为它们来自不同的注册表)。不管怎样,使用http://会让我担心安全性。

我在节点6.10.2和7.4.0上得到了相同的结果。如果我跳到最新的节点,12.18.0错误不会发生,但我正在处理的项目不支持节点的新版本。不知所措,不知道还能尝试什么。

这是npm-debug.log文件的错误部分:

代码语言:javascript
复制
103 verbose stack Error: write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:2032:
103 verbose stack
103 verbose stack     at exports._errnoException (util.js:1018:11)
103 verbose stack     at WriteWrap.afterWrite (net.js:804:14)
104 verbose cwd C:\code\extraspace.web.pointofsale
105 error Windows_NT 10.0.18363
106 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "gulp"
107 error node v6.10.2
108 error npm  v3.10.10
109 error code EPROTO
110 error errno EPROTO
111 error syscall write
112 error write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:2032:
EN

回答 2

Stack Overflow用户

发布于 2021-12-03 07:15:50

Nodejs免责声明:我对没有太多经验,我给出的答案是我自己对这个问题的研究,希望能在某种程度上对你有所帮助。

参考资料:write-eproto-101057795...或common-proxy-and-networking-p...

首先检查Nodejs是否安装正确

代码语言:javascript
复制
- Open Command Prompt (Windows) or Terminal (Mac) or Bash (Linux)
- Execute this command: node -v (The output should be "6.10.2")
- Execute this command: npm -v (The output should be "(some-version)")

试试这个:

代码语言:javascript
复制
- Open Command Prompt (Windows) or Terminal (Mac) or Bash (Linux)
- Go to the "app" folder (Located on the same folder of this file)
- Execute this command (*): npm install --development
- Execute this command: npm start --development

如果以上所有操作都失败了,请检查下面的列表。

  1. 请确保您的internet连接正常。你能联系到https://registry.npmjs.org吗?你能访问其他网站吗?如果其他站点无法访问,这不是npm的问题。
  2. 检查http://status.npmjs.org/是否存在当前任何潜在的服务中断。
  3. 如果您的公司有针对开发人员的域名白名单流程,请确保https://registry.npmjs.org是白名单域名。
  4. 如果您在中国,请考虑使用位于防火墙后面的https://npm.taobao.org/作为注册表。
  5. 在Windows上,npm不访问在系统级别配置的代理,因此您需要手动配置这些代理,以便npm能够访问它们。请确保已将适当的代理配置添加到.npmrc。
  6. 如果已配置代理,则该代理可能配置不正确或使用了错误的凭据。验证您的凭据,使用单独的application.
  7. The代理本身测试特定凭据,在服务器上也可能存在配置错误。在这种情况下,您需要与系统管理员一起验证代理和HTTPS是否配置正确。您可以通过运行常规的HTTPS请求来测试它。
票数 0
EN

Stack Overflow用户

发布于 2022-02-28 10:06:25

从您的错误日志

代码语言:javascript
复制
...
...
107 error node v6.10.2
108 error npm  v3.10.10
...
...

您的npm和nodejs版本非常旧。尝试升级npm和nodejs版本。

也可以试试

代码语言:javascript
复制
//disable strict ssl checking
npm config set strict-ssl false
//if you're using different npm registry try official registry for debug
npm config set registry https://registry.npmjs.org/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62178866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档