npm的nexus私服 E401 E500错误处理记录
用nexus搭建的npm本地仓库,在发布时报 npmERR!codeE401,原因是没有基础权限,需要登录,用帐号登录时又报E500错误,从网上查了一下,资源比较少,而且基本重复,现把问题记录一下,以方便后期有相同问题的伙伴作参考npm E401npm publish时,错误详情如下:npm ERR! code E401npm ERR! Unable to authenticate, need:
用nexus搭建的npm本地仓库,在发布时报 npm ERR! code E401,原因是没有基础权限,需要登录,用帐号登录时又报E500错误,从网上查了一下,资源比较少,而且基本重复,现把问题记录一下,以方便后期有相同问题的伙伴作参考
npm E401
npm publish 时,错误详情如下:
npm ERR! code E401
npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"
1.npm publish
报401 BASIC realm="Sonatype Nexus Repository Manager",这个一般是 npm publish发包才会有此问题,npm publish时需要有本地仓库的权限,一般登录一下就可以解决。登录用 npm login 输入nexus上创建的用户、密码和邮箱就可以了
如果登录后还不能发,检查npm nexus的 Realms设置,把npm Bearer Token Reaim放入Active中,并保存
2.npm install
如果仅仅是npm i 的话,首先检查一下自己所用的包地址,使用nrm ls 列出当前的包,可以用 nrm use 切换
其次检查一下Nexus Repository Manager上的Anonymous是否开放
npm E500
这个问题比较奇怪,从网上没有找到相似的问题,现在尝试过程写下,不一定有代表性
首页,帐号是没有问题的,nexus访问也没有问题,就是npm login 时就500 了,
1.确认是否登录 npm whoami, 查看当前登录npm的账户,publish发布包时可以确认用户是否正确,如果正常登录就可以结束了
npm whoami
2.如果登录不成功,报E500,首页检查nexus私服上的帐号密码是否有效,输入是否正确
3.确认无误,像我遇到的这种少见的私服、帐号均正常,就是登录不上的,继续进行以下尝试
检查本地项目配置文件package.json中中"publishConfig"是地址是否是正确的私服地址
4.检查本地npm默认配置项,关键是userconfig ,默认地址:c:\Users\用户\.npmrc文件,将登录信息保存在配置文件中
//列出npm的默认配置项
npm config list -l
我的配置中原来是只有前两行,所以一直登录E500异常,虽然输入的帐号信息正确,但还是报500,后来追加了下面三行,即always-auth、_auth、email信息后,就可以正常发布了,而且直接用npm whoami 查看登录信息,竟显示登录成功后的帐号,
registry=http://10.100.xx.xx:5006/repository/npm-group/
save-prefix=~
always-auth=true
_auth="dXNlcmFkbWluOnVzZXJwYXNzd29yZA=="
email=admin@example.org
这里说明一下:_auth="dXNlcmFkbWluOnVzZXJwYXNzd29yZA=="//这里是[帐号:密码]的Base64编码后的值,要用自己的帐号密码Base64编码后替换,到这里我的问题是解决了,可以正常npm publish了。如果你也遇到类似的问题,到这里还没有解决的话,请继续尝试解决,如果你方便的话,请把解决方案通过评论方法留言给我,谢谢。
更多推荐
所有评论(0)