项目开发中遇到的一个奇怪现象:在前端项目开发完毕后,我进行了打包操作,一切正常,但是在发布的时候报了401的错误,但是可以明确的是,我已经成功登录了npm,这是为什么呢?
问题排查过程:
- 可能是我的账号权限不够,无法发布版本? 先更换已知确认有发布权限的的用户名密码尝试,发现问题依然存在;
- 换台电脑尝试,发现别人的电脑使用同样的账号可以正常发布,这表明是我自己电脑的问题,问题可能是npm本地配置文件有错误;
- 找到本地当前的登录账户的文件夹下打开.npmrc文件,(.npmrc文件是npm的配置文件)检查仓库的地址是否正确;检查无误;
- .检查npmrc文件中的_authToken是否正确,该文件保存了默认的下载地址registry以及一个或多个仓库的地址以及每个仓库地址的权限_authToken值,你应该确保这些_authToken是正确的:
① 如果只有一个_authToken值,可以尝试删除**: /_authToken=值** ,然后重新登录即可!
② 如果有多个,应该确保这几个_authToken值是否一致,如果不一致,你可以使用其他仓库正确的_authToken来替换有问题仓库的_authToken,修改后记得保存。 - 再次尝试发布版本,提示发布成功!问题解决!