I installed Nexus Repository Manager OSS 3.2.1 and ran it on local machine.
Configuration
I have three NPM repositories defined in Nexus:
- [PUBLIC] - a proxy for public npm registry
- [PRIVATE] - a private repository for my own packages
- [NPM] - a group repository, allowing access to [PRIVATE] and [PUBLIC] in this order
In Settings/Security/Realms I've added npm Bearer Token Realm.
Downloading
I can download packages from [PUBLIC], which works as intended.
.npmrc
registry=http://localhost:8081/repository/PUBLIC
npm install react // works fine, downloads from [PUBLIC]
I can download packages from [NPM], which works as intended.
.npmrc
registry=http://localhost:8081/repository/NPM
npm install react // works fine, downloads from [PUBLIC]
It won't work with [PRIVATE], because I don't have package named react.
Publishing
I don't want to publish to [PUBLIC].
I can publish packages to [PRIVATE], which works as intended.
.npmrc
registry=http://localhost:8081/repository/PRIVATE
npm publish // works fine, publishes to [PRIVATE]
I can't publish packages to [NPM] and this is weird.
.npmrc
registry=http://localhost:8081/repository/NPM
npm publish // fails, should publish to [PRIVATE]
// gets HTTP 400
Error
Detailed log:
Problem
I understand that I can set up different url for publishing packages with publishConfig in package.json file, but for me it's duplicating configuration.
Can this be done with Nexus group repository?
I installed Nexus Repository Manager OSS 3.2.1 and ran it on local machine.
Configuration
I have three NPM repositories defined in Nexus:
- [PUBLIC] - a proxy for public npm registry
- [PRIVATE] - a private repository for my own packages
- [NPM] - a group repository, allowing access to [PRIVATE] and [PUBLIC] in this order
In Settings/Security/Realms I've added npm Bearer Token Realm.
Downloading
I can download packages from [PUBLIC], which works as intended.
.npmrc
registry=http://localhost:8081/repository/PUBLIC
npm install react // works fine, downloads from [PUBLIC]
I can download packages from [NPM], which works as intended.
.npmrc
registry=http://localhost:8081/repository/NPM
npm install react // works fine, downloads from [PUBLIC]
It won't work with [PRIVATE], because I don't have package named react.
Publishing
I don't want to publish to [PUBLIC].
I can publish packages to [PRIVATE], which works as intended.
.npmrc
registry=http://localhost:8081/repository/PRIVATE
npm publish // works fine, publishes to [PRIVATE]
I can't publish packages to [NPM] and this is weird.
.npmrc
registry=http://localhost:8081/repository/NPM
npm publish // fails, should publish to [PRIVATE]
// gets HTTP 400
Error
Detailed log: https://pastebin./5GuqNNhf
Problem
I understand that I can set up different url for publishing packages with publishConfig in package.json file, but for me it's duplicating configuration.
Can this be done with Nexus group repository?
Share Improve this question edited Apr 12, 2017 at 11:52 m1gu3l asked Apr 12, 2017 at 10:57 m1gu3lm1gu3l 7731 gold badge6 silver badges19 bronze badges1 Answer
Reset to default 15You can't publish to a group repository. Change the URL you are using to the URL of a hosted npm repository, that will work.