我的公司有一台 Nexus 3 服务器,我们在其中存储主要 Maven 环境的所有工件。我正在尝试使用 Node 来做与 Maven 相同的事情:
理想情况下,构建/部署 SNAPSHOT 和 RELEASE 之间的唯一区别是
npm publish <snapshot/release indicator flag>
,它可以在 .npmrc 文件中查找 URL,但使用在执行构建/部署的计算机上定义的凭据(以便开发人员没有主凭证)。我在设置这个时遇到问题。 NPM 范围看起来很有希望,但这可能只适用于具有一个范围而不是条件范围的包/项目。
我目前尝试过
npm publish --registry=<url>
,但失败并出现错误,提示我需要使用 npm adduser
。我不确定如何提供凭据以及提供哪些凭据(我是为 Nexus 用户提供凭据来存储工件,还是 NPM 根本不允许当前用户(Jenkins 用户)发布?)。
answer
,使用作用域包的注册表的实际地址(请参阅package.json
文档的名称section,或
scope
文档)可以从CLI中覆盖,例如以下:
npm publish --@myscope:registry=http://nexus.dsv.myhost/nexus/repository/npmjs-registry
我尝试了一下,似乎有效。该功能还存在错误修复。