Error publishing a new version of a package in npm

11,894

Solution 1

#To publish on npm registry

You need to create npm user. You can follow here. In short

npm adduser
npm login

Do npm config ls to ensure that credentials are stored on your client. Then try

npm publish.

To install it locally OR test packaging your module

You can try

tar -tf $(npm pack)
npm install <path/to/your/package.tgz>

I checked here and here for references.

Solution 2

I also had the same problem. for me the email was not verified. You can login on npmjs.org and verify the email.

Solution 3

I don't know, What happen in your code during installation package. Please check here : https://docs.npmjs.com/getting-started/creating-node-modules to take a look how to install package modules. These are simple way to install package :

Publish your package to npm
Make a new directory outside of your project and cd into it
Run npm install <package>
Create a test.js file which requires the package and calls the method
Run node test.js. The message should be output.

Solution 4

From log, I have noticed following exception

36 error publish Failed PUT 404
37 verbose stack Error: missing : @psychodelicgod/npm

Either you seems to be logged out or You need to have registered npm adduser "psychodelicgod" as a username at the registry and be logged in to publish under that scope. Please have a look at "Working with scoped packages" and "publishing NPM Packages"

Solution 5

404 errors when publishing is mainly due to access errors. It could be an access token error or a read-write error. Please check your access settings on the organization package permissions page.

enter image description here

  1. If you are publishing for the first time from your local machine, use npm login to create an access token on your account. Once logged in, the token will be automatically added to your global npmrc file and you can try publishing again.
  2. If you are trying to update a package and seeing the 404 error, please enable read-write permission on your organization settings for the package.
  3. If you are using a CI/CD pipeline tool, specifying the scope is mandatory and use the access token that has read-write permission.
Share:
11,894

Related videos on Youtube

Michał Szydłowski
Author by

Michał Szydłowski

SOreadytohelp A programming professional from Lodz, Poland. Keen to learn about new technologies and to expand the knowledge on all fields of computer science and mathematics.

Updated on September 14, 2022

Comments

  • Michał Szydłowski
    Michał Szydłowski over 1 year

    I'm trying to republish a package using npm. I did update the package version in package.json, yet I get the following error:

    npm ERR! publish Failed PUT 404
    npm ERR! Windows_NT 6.3.9600
    npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs
    \\node_modules\\npm\\bin\\npm-cli.js" "publish"
    npm ERR! node v0.12.3
    npm ERR! npm  v2.9.1
    npm ERR! code E404
    
    npm ERR! 404 missing : @psychodelicgod/npm
    npm ERR! 404
    npm ERR! 404 '@psychodelicgod/npm' is not in the npm registry.
    npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
    
    npm ERR! 404
    npm ERR! 404 Note that you can also install from a
    npm ERR! 404 tarball, folder, http url, or git url.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     C:\Users\Michał Szydłowski\npm\npm-debug.log
    

    and my debug.log:

    0 info it worked if it ends with ok
    1 verbose cli [ 'C:\\Program Files\\nodejs\\\\node.exe',
    1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
    1 verbose cli   'publish' ]
    2 info using [email protected]
    3 info using [email protected]
    4 verbose node symlink C:\Program Files\nodejs\\node.exe
    5 verbose publish [ '.' ]
    6 silly cache add args [ '.', null ]
    7 verbose cache add spec .
    8 silly cache add parsed spec { raw: '.',
    8 silly cache add   scope: null,
    8 silly cache add   name: null,
    8 silly cache add   rawSpec: '.',
    8 silly cache add   spec: 'C:\\Users\\Michał Szydłowski\\npm',
    8 silly cache add   type: 'directory' }
    9 verbose addLocalDirectory C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz not in flight; packing
    10 verbose tar pack [ 'C:\\Users\\Michał Szydłowski\\AppData\\Roaming\\npm-cache\\@psychodelicgod\\npm\\1.0.2\\package.tgz',
    10 verbose tar pack   'C:\\Users\\Michał Szydłowski\\npm' ]
    11 verbose tarball C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz
    12 verbose folder C:\Users\Michał Szydłowski\npm
    13 info prepublish @psychodelicgod/[email protected]
    14 verbose addLocalTarball adding from inside cache C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz
    15 silly cache afterAdd @psychodelicgod/[email protected]
    16 verbose afterAdd C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package\package.json not in flight; writing
    17 verbose afterAdd C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package\package.json written
    18 silly publish { name: '@psychodelicgod/npm',
    18 silly publish   version: '1.0.2',
    18 silly publish   description: 'd',
    18 silly publish   main: 'index.js',
    18 silly publish   scripts: { test: 'node test.js' },
    18 silly publish   author: '',
    18 silly publish   license: 'ISC',
    18 silly publish   dependencies: { '@linclark/pkg': '^1.0.2' },
    18 silly publish   repository: { type: 'git', url: 'C:\\Users\\Michał Szydłowski\\npm' },
    18 silly publish   readme: 'Sample description.',
    18 silly publish   readmeFilename: 'README.md',
    18 silly publish   _id: '@psychodelicgod/[email protected]',
    18 silly publish   _shasum: 'b66a8a42e64f0a2b8166ce511629e107d47ab027',
    18 silly publish   _from: '.' }
    19 verbose getPublishConfig undefined
    20 silly mapToRegistry name @psychodelicgod/npm
    21 silly mapToRegistry scope (from package name) @psychodelicgod
    22 verbose mapToRegistry no registry URL found in name for scope @psychodelicgod
    23 silly mapToRegistry using default registry
    24 silly mapToRegistry registry http://localhost:15443/
    25 silly mapToRegistry uri http://localhost:15443/@psychodelicgod%2fnpm
    26 verbose publish registryBase http://localhost:15443/
    27 silly publish uploading C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz
    28 verbose request uri http://localhost:15443/@psychodelicgod%2fnpm
    29 verbose request sending authorization for write operation
    30 info attempt registry request try #1 at 13:11:50
    31 verbose request id e5c460330af2176f
    32 http request PUT http://localhost:15443/@psychodelicgod%2fnpm
    33 http 404 http://localhost:15443/@psychodelicgod%2fnpm
    34 verbose headers { 'content-type': 'application/json',
    34 verbose headers   date: 'Fri, 03 Jul 2015 11:11:50 GMT',
    34 verbose headers   connection: 'keep-alive',
    34 verbose headers   'transfer-encoding': 'chunked' }
    35 verbose request invalidating C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\localhost_15443\_40psychodelicgod_252fnpm on PUT
    36 error publish Failed PUT 404
    37 verbose stack Error: missing : @psychodelicgod/npm
    37 verbose stack     at CachingRegistryClient.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:247:14)
    37 verbose stack     at Request._callback (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:170:14)
    37 verbose stack     at Request.self.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:368:22)
    37 verbose stack     at Request.emit (events.js:110:17)
    37 verbose stack     at Request.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:1219:14)
    37 verbose stack     at Request.emit (events.js:129:20)
    37 verbose stack     at IncomingMessage.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:1167:12)
    37 verbose stack     at IncomingMessage.emit (events.js:129:20)
    37 verbose stack     at _stream_readable.js:908:16
    37 verbose stack     at process._tickCallback (node.js:355:11)
    38 verbose statusCode 404
    39 verbose pkgid @psychodelicgod/npm
    40 verbose cwd C:\Users\Michał Szydłowski\npm
    41 error Windows_NT 6.3.9600
    42 error argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "publish"
    43 error node v0.12.3
    44 error npm  v2.9.1
    45 error code E404
    46 error 404 missing : @psychodelicgod/npm
    46 error 404
    46 error 404 '@psychodelicgod/npm' is not in the npm registry.
    46 error 404 You should bug the author to publish it (or use the name yourself!)
    46 error 404
    46 error 404 Note that you can also install from a
    46 error 404 tarball, folder, http url, or git url.
    47 verbose exit [ 1, true ]
    

    I've tried several similar answers here, but none of this is helping. Any ideas?

    • Florian Wendelborn
      Florian Wendelborn almost 9 years
      Are you sure you're using the correct name for your project? I can't find the module "@psychodelicgod/npm".