Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to npm publish to 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.com/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?

like image 820
m1gu3l Avatar asked Dec 06 '22 15:12

m1gu3l


1 Answers

You can't publish to a group repository. Change the URL you are using to the URL of a hosted npm repository, that will work.

like image 134
rseddon Avatar answered Jan 05 '23 17:01

rseddon