npm login无法正常工作 多次重复弹出密码输入提示
npm login密码输入提示反复弹出问题解决
适用环境
- NPM: v7.5.4
- NODE: 14.15.1
- 操作系统: Windows
解决方案
1. 校验registry配置
先执行npm config get registry确认当前使用的源地址是否和你要登录的源一致:
- 登录npm官方源需要保证地址为
https://registry.npmjs.org/ - 登录私有源需要保证地址和源服务的对外地址完全匹配
如果配置不符,执行npm config set registry <对应源地址>修改后再尝试登录。
2. 规避npm 7.5.x的Windows交互bug
npm 7.5.4属于npm 7早期版本,存在Windows终端下密码交互的已知缺陷,可通过以下方法解决:
- 手动输入密码,不要使用粘贴操作:该版本密码输入全程不会显示任何回显(包括星号、圆点),属于正常设计,输入完成直接回车即可,不要因为看不到输入内容重复粘贴/输入
- 升级npm到修复版本:执行
npm install -g npm@7升级到7.x分支的最新稳定版,后续版本已经修复了Windows下密码粘贴失效的问题 - 直接用访问令牌跳过交互登录:在对应npm源的网页端生成个人访问令牌(PAT)后,执行
npm config set //<源地址>/:_authToken <你的令牌>,无需走npm login交互流程即可完成登录授权。
3. 排查.npmrc文件权限
检查当前用户目录下的.npmrc文件是否被设置了只读权限,取消只读权限后重新尝试登录即可。
内容的提问来源于stack exchange,提问作者Almenon
相关产品推荐
相关产品推荐

