npm publish to nexus
Solution 1
Thanks to @DarthHater I figured out the solution, so what I was trying to do is publishing to the proxy repository, which was pointing to the official npm registry, instead of doing that I have to create a private (hosted) repository for my own packages, and then use a group repository to provide all the repos under a single URL, by doing that I had to set the group repository as the default repository (in .npmrc
) and the private repository as the publish repository (in package.json
), and don't forget to assign an email in the .npmrc
(any email) so when publishing it will use settings in the local .npmrc
(authentification ...) and not the settings in the home .npmrc
.
Solution 2
Are you attempting to publish to the proxy or group URL? I ask because the URL looks like it would be a proxy of npmjs just by naming convention. If so, ensure that the URL you are using is for the private hosted repo.
Also, use Nexus Repository 3 :)
Renaud is Not Bill Gates
Updated on June 04, 2022Comments
-
Renaud is Not Bill Gates about 2 years
I'm trying to publish an npm package to our nexus private registry using this command :
npm publish --registry http://localhost:8081/nexus/content/repositories/npmjs
but I get this error :
npm ERR! path C:\Users\USER~1.MAJ\AppData\Local\Temp\npm-13292-e2329f38\tmp\fromDir-e7e42b8d\package.tgz npm ERR! code EPERM npm ERR! errno -4048 npm ERR! syscall unlink npm ERR! Error: EPERM: operation not permitted, unlink 'C:\Users\USER~1.MAJ\AppData\Local\Temp\npm-13292-e2329f38\tmp\fromDir-e7e42b8d\package.tgz' ... npm ERR! Please try running this command again as root/Administrator.
and this is my npm configuration (.npmrc) :
registry: 'http://localhost:8081/nexus/content/repositories/npmjs/', _auth: 'YWRtaW46YWRtaW4xMjM=', 'always-auth': true
How can I solve this ?
Edit :
npm -v
: 5.3.0node -v
: v8.8.0npm config get registry
: http://localhost:8081/nexus/content/repositories/npmjs