发布到 Nexus 上的私有 NPM 存储库时出现身份验证错误

2024-04-11

我在发布到托管在我的私人 Nexus 上的私人 npm 注册表时遇到身份验证问题。

我的 Nexus 设置是npm 代理, npm 注册表(托管 npmallowRepublish=false), npm 快照(托管 npmallowRepublish=true) and npm-公共(与所有其他三个存储库分组)。

由于我正在开发一个库,所以我正在使用我的快照存储库,因此我可以不断地重新部署相同的版本(类似于 Maven 世界中的快照)。

在我的图书馆项目中,我已设置此选项包.json

"publishConfig": {
    "registry": "https://my.nexus.com/repository/npm-snapshots/"
}

接下来,我创建了.npmrc文件包含以下内容:

registry=https://my.nexus.com/repository/npm-public/
_auth=RVhBTVBMRQ==

通过此设置,我可以毫无问题地发布项目。然而,令我困扰的是,我的密码(只是 base64 编码)存储在文件中,应该提交,但由于其中的凭据,我无法提交它。

我尝试登录到 npm 注册表并从 .npmrc 中删除了 auth 行npm adduser --registry=https://my.nexus.com/repository/npm-snapshots --always-auth

我得到回应Logged in as myusername on https://my.nexus.com/repository/npm-snapshots.

然而,当我尝试跑步时npm publish I get:

npm ERR! code E401
npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"
npm verb exit [ 1, true ]
npm timing npm Completed in 6867ms

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\XXXX\AppData\Roaming\npm-cache\_logs\2019-07-30T19_31_01_598Z-debug.log

现在在我的另一个项目(正在使用这个库)中,我只是创建了包含内容的 .npmrc 文件registry=https://nexus.mjamsek.com/repository/npm-public/并运行命令npm adduser --registry=https://my.nexus.com/repository/npm-public --always-auth我能够下载已发布的包。

但是,发布仍然无法正常工作,我不知道为什么。

编辑 2019 年 7 月 31 日:在我的活动领域列表中,我也有npm 不记名令牌领域


当你这样做时npm login or npm adduserNPM 客户端创建一个身份验证令牌,该令牌将在将来向注册表发出的请求中使用。默认 NXRM 配置仅允许本地认证领域它无法识别 NPM 的令牌。请确保您有npm 不记名令牌领域 active.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发布到 Nexus 上的私有 NPM 存储库时出现身份验证错误 的相关文章

随机推荐