npm publish to nexus

10,626

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 :)

Share:
10,626
Renaud is Not Bill Gates
Author by

Renaud is Not Bill Gates

Updated on June 04, 2022

Comments

  • Renaud is Not Bill Gates
    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.0

    node -v: v8.8.0

    npm config get registry: http://localhost:8081/nexus/content/repositories/npmjs