由于“签名错误”,具有早期构建 npm 的 Windows 10 无法安装任何模块

Pau*_*ard 5 windows openssl node.js npm-install

我正在我的全新 Windows 笔记本电脑(Windows 10 Pro,版本 20H2,内部版本 19042.1645)上安装 64 位 Node v7.10.1(使用 npm v4.2.0)。不幸的是,我的应用程序需要这个早期版本的 Node。到目前为止,我已经使用三个不同的进程安装了 Node:nvm for Windows、NVS 和直接下载。我扫描了网络寻找解决方案,发现了许多类似的问题,但可能的解决方案却很少。我的问题是npm install failed with bad signature error on Windows 的重复项,但那里的建议对我没有帮助。我觉得有必要重新提出这个问题。

安装 Node 并创建一个新的工作目录后,我发出命令 npm install path 我得到的响应是这样的:

npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "path"
npm ERR! node v7.10.1
npm ERR! npm  v4.2.0
npm ERR! code EPROTO
npm ERR! errno EPROTO
npm ERR! syscall write

npm ERR! write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:2032:
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\pdqsw\AppData\Roaming\npm-cache\_logs\2022-04-13T13_45_23_254Z-debug.log
Run Code Online (Sandbox Code Playgroud)

我尝试使用不同的注册表并使用 http 而不是 https 。我尝试将 strict-ssl 设置为false

如果我安装使用 npm v5.0.0 的 Node 8.0.0,则路径安装完美。

非常令人沮丧的是,两三年前我在另一台 W10 笔记本电脑上进行了类似的设置,并且一直在使用 Node 7.10.1(安装了许多模块)。感谢您期待收到一些解决此问题的线索。

2022 年 4 月 19 日编辑:

为了找到解决上述问题的方法,我在 Ubuntu Linux 上安装了适用于 Windows 10 的 WSL。这让我可以毫无问题地安装 Node 7.10.1,并且现在可以愉快地使用 npm 安装模块。我的系统现在运行(或看起来)完美,我仍然可以在 Windows 环境中使用 VSC 轻松编辑我的程序文件。所以我想我应该保留这个配置,至少现在是这样。

小智 5

我在一台新的 Windows 11 机器上设置 64 位 Node v7.xy(尝试了多个版本)时遇到了完全相同的问题,周围是类似的挫败感,64 位 Node v7.xy 继续在我的机器上正常工作较旧的 Windows 10 机器没有任何此类问题。

令人惊讶的是(也许作为一种解决方法),我发现使用 32 位 Node v7.xy 可以正常工作而不会遇到此问题。

使用 NVM for Windows,您可以使用以下命令在 64 位 Windows 上安装 32 位 Node v7.10.1。

nvm install 7.10.1 32
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令在 64 位 Windows 上使用 32 位 Node v7.10.1。

nvm use 7.10.1 32
Run Code Online (Sandbox Code Playgroud)

因此,我最终选择了使用 32 位 Node v7.xy,到目前为止,它运行得很顺利,没有任何问题。

  • 你好,M.Shoaib Surya。我使用 Ubuntu Linux 的解决方案效果很好,直到今天我仍然使用它。你的建议听起来不错。抱歉回复晚了,如果能尝试一下您的解决方案就好了。这似乎对@bharal 有用 (2认同)
  • 哦,它绝对在我正在使用的 Windows 11 上成功了,在这个宝石出现之前我已经准备好把我的头发拔掉了。 (2认同)