NPM - 关于“电子邮件:(这是 public)”的问题

NPM - Questions about `Email: (this IS public)`

我已经在 npmjs.com 上配置了电子邮件地址,为什么 cli 一直提示我输入电子邮件?

$ npm login
npm notice Log in on https://registry.npmjs.org/
Username: wenfangdu
Password:
Email: (this IS public)

即使我输入了一个与我在 npmjs.com 上设置的不同的电子邮件,我仍然可以登录。

问题:

这是登录和创建用户是同一个请求的时代产物。现在不再是这种情况,因此电子邮件字段将被忽略,除非以给定用户身份使用给定密码登录失败并出现错误表明该用户不存在。如果发生这种情况,npm 会发送一个请求来创建给定的用户并将其与给定的电子邮件相关联。

这是 npm 团队意识到的技术债务,这是因为 login 实际上是 adduser 的别名。不幸的是,更改此行为将是一个重大更改,并且需要 semver-major 版本升级,因此我们要到 npm 8 才能看到它。