【发布时间】:2017-09-08 02:56:37
【问题描述】:
我安装了 Nexus Repository Manager OSS 3.2.1 并在本地机器上运行它。
配置
我在 Nexus 中定义了三个 NPM 存储库:
- [PUBLIC] - 公共 npm 注册表的代理
- [PRIVATE] - 我自己的包的私有存储库
- [NPM] - 组存储库,允许按此顺序访问 [PRIVATE] 和 [PUBLIC]
在 Settings/Security/Realms 我添加了 npm Bearer Token Realm。
正在下载
我可以从 [PUBLIC] 下载包,按预期工作。
.npmrc
registry=http://localhost:8081/repository/PUBLIC
npm install react // works fine, downloads from [PUBLIC]
我可以从 [NPM] 下载包,按预期工作。
.npmrc
registry=http://localhost:8081/repository/NPM
npm install react // works fine, downloads from [PUBLIC]
它不适用于 [PRIVATE],因为我没有名为 react 的包。
发布
我不想发布到 [PUBLIC]。
我可以将包发布到 [PRIVATE],这可以按预期工作。
.npmrc
registry=http://localhost:8081/repository/PRIVATE
npm publish // works fine, publishes to [PRIVATE]
我无法将包发布到 [NPM],这很奇怪。
.npmrc
registry=http://localhost:8081/repository/NPM
npm publish // fails, should publish to [PRIVATE]
// gets HTTP 400
错误
详细日志:https://pastebin.com/5GuqNNhf
问题
我知道我可以在 package.json 文件中使用 publishConfig 设置不同的 url 来发布包,但对我来说这是重复配置。
这可以通过 Nexus 组存储库完成吗?
【问题讨论】:
标签: javascript npm nexus devops package.json