印象中发布lib包的时候,登录npm是命令行的
npm login
email:
password:
但是今天登录,给我打开了网站
npm notice Log in on https://registry.npmjs.org/
Login at:
https://www.npmjs.com/login?next=/login/cli/0e41394b-2588-4297-a4bb-09fd675c1aa8
Press ENTER to open in the browser...
是我记错了,还是它改版了?
是的,您所遇到的情况是正确的。从
npm v7.0.0
开始,npm login在命令行中登录现在通过浏览器登录,这是因为npm想通过打开登录网页的方式,提供更好的电子邮件和双因素身份验证流程,以增强npm安全性。也是npm标准化的一种方式,以保证用户安全登录。当您运行
npm login
命令时,npm将在您的终端内显示一条消息,该消息将告知你打开一个网址,并使用npm帐户登录。您在浏览器中输入您账号的电子邮件和密码,而不是在终端中键入。登录过程成功后,您的电子邮件地址将与npm用户ID相关联,以允许您发布npm包。值得注意的是,在
npm 7.0.0
之前,命令npm login
被广泛使用来登录npm用户账户,这种方式在以前已被证明是不安全和可靠的,现在npm已经开始采取更安全和标准化的登录方式,所以您看到的现象也是正常的。