Michał Szydłowski
Michał Szydłowski

Reputation: 3409

Error publishing a new version of a package in npm

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?

Upvotes: 14

Views: 15730

Answers (6)

Kalesh Kaladharan
Kalesh Kaladharan

Reputation: 1058

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.

Upvotes: 1

radbrawler
radbrawler

Reputation: 2685

#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.

Upvotes: 15

Anil Nayak
Anil Nayak

Reputation: 29

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

Upvotes: 2

Aqdas
Aqdas

Reputation: 940

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"

Upvotes: 1

Kumar Rakesh
Kumar Rakesh

Reputation: 2708

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.

Upvotes: 1

cwharris
cwharris

Reputation: 18125

There is (as of writing) a bug in npmjs.org's implementation of the npm server which does not provide useful information when a package fails to publish. If you're using npmjs.org within the scope of an organization, ensure that your user's permissions are read-write. This seems obvious, of course, but the error presented would indicate that the repository for which an update is being attempted is either non-existent, or at least invisible to the user attempting the publish. In fact, the user may be able to see the package when searching, but be told the package does not exist when attempting to publish.

Perhaps there is a similar issue with your npm server.

Upvotes: 0

Related Questions