npm注册表已弃用TLS 1.0和TLS 1.1

爱德华·汤姆森形象

从2021年10月4日开始,所有与npm网站和npm注册表的连接(包括软件包安装)必须使用TLS 1.2或更高。

GitHub致力于确保我们的服务和用户隐私的安全。以前,我们删除了对GitHub服务TLS 1.0和TLS 1.1的支持.今年,我们将同样反对npmjs.com的非https访问和TLS 1.0和TLS 1.1, npmjs.com是公共npm注册中心。

幸运的是,npm注册表99%的流量已经在使用TLS 1.2,我们预计大多数用户都是这样不会受到影响弃用。所有以v0.10.0开始的Node.js二进制版本都支持TLS 1.2,所以大多数最新Node.js和npm版本的用户不需要做任何更改。但是,有些用户可能使用不受支持的版本可能使用不支持的自定义编译的Node.js二进制文件。

详细的时间表

虽然我们将从2021年10月4日开始实施TLS 1.2,但我们也将采取措施,在弃用之前提醒受影响的用户这一变化。

  • 从8月24日开始,未使用TLS 1.2的用户在运行npm命令时将会看到一条通知,其中包含这篇博文的链接。

  • 9月22日,我们将从协调世界时05:00开始实施TLS 1.2一小时。

  • 在9月27日,我们将在UTC 10:00和18:00开始的一小时内实施TLS 1.2。

  • 最后,在9月29日,我们将在UTC 13:00开始的6小时内实施TLS 1.2。

确保你的兼容性

为了确保你的npm版本支持TLS 1.2,你可以从已经禁用TLS 1.0和TLS 1.1的HTTPS端点安装一个测试包:

NPM安装-g https://tls-test.npmjs.com/tls-test-1.0.0.tgz

你应该看到这条消息:

你好!成功下载并安装tls-test包。

恭喜你!您的包管理器似乎支持TLS 1.2。

如果您看到一个TLS错误消息,我们鼓励您升级到当前支持的Node.js版本NPM v7的最新版本