Cli: npm publish 404 nicht gefunden - PUT

Erstellt am 7. Aug. 2020  ·  3Kommentare  ·  Quelle: npm/cli

Das nächste Problem ist #1626, aber es geht darum, npm zu verwenden, um das Paket zu erhalten, und es scheint für die meisten Benutzer gelöst zu sein.
Hier geht es um das npm-Publishing-Paket in CI, und es ist vorerst nicht gelöst.

Aktuelles Verhalten:

https://framagit.org/1000i100/g1lien/-/jobs/1072053

$ npm publish
[...]
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://registry.npmjs.org/g1link - Not found
npm ERR! 404 
npm ERR! 404  '[email protected]' 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.
[...]

Erwartetes Verhalten:

Erfolgreiche Veröffentlichung meines Pakets von Docker in gitlab-CI mit npm_token-Authentifizierung.
(es funktioniert gestern auf meinem Laptop mit npm login, aber nicht mit npm_token in CI).

Schritte zum Reproduzieren:

Ex. Schritte, um das Verhalten zu reproduzieren:

  1. Fork this: https://framagit.org/1000i100/g1lien
  2. Ändern Sie den Paketnamen und fügen Sie Ihr npm-Token hinzu
  3. Pushen Sie es mit einem Tag auf ein Gitlab mit aktivem CI.

Es sollte das Problem reproduzieren.

Umfeld:

https://framagit.org/1000i100/g1lien/-/blob/master/.gitlab-ci.yml#L5
https://framagit.org/1000i100/g1lien/-/jobs/1072052#L17

  • OS: Docker in gitlab mit Image: node:current
  • Knoten: v14.7.0
  • NPM: 6.14.7

Hilfreichster Kommentar

Ich habe versucht, npm publish von einem neuen Computer aus zu starten, und habe den gleichen unerwarteten 404 erhalten. In meinem Fall wurde es durch ein npm login gelöst. Ich verstehe, dass ein 401 das Vorhandensein eines privaten Pakets "durchsickern" könnte, aber ich denke, die CLI würde zuerst überprüfen, ob ich zuerst authentifiziert wurde, und mit einem passenderen Fehler antworten.

Hier ist der relevante Teil des Protokolls, als ich versucht habe, npm publish vor npm login :

19 verbose stack Error: 404 Not Found - PUT https://registry.npmjs.org/mock-fs - Not found
19 verbose stack     at /Users/tschaub/.nvm/versions/node/v14.8.0/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:117:15
19 verbose stack     at processTicksAndRejections (internal/process/task_queues.js:93:5)
20 verbose statusCode 404
21 verbose pkgid [email protected]
22 verbose cwd /Users/tschaub/projects/mock-fs
23 verbose Darwin 19.6.0
24 verbose argv "/Users/tschaub/.nvm/versions/node/v14.8.0/bin/node" "/Users/tschaub/.nvm/versions/node/v14.8.0/bin/npm" "publish"
25 verbose node v14.8.0
26 verbose npm  v6.14.8
27 error code E404
28 error 404 Not Found - PUT https://registry.npmjs.org/mock-fs - Not found
29 error 404
30 error 404 '[email protected]' is not in the npm registry.
31 error 404 You should bug the author to publish it (or use the name yourself!)
32 error 404 Note that you can also install from a
33 error 404 tarball, folder, http url, or git url.
34 verbose exit [ 1, true ]

Alle 3 Kommentare

Gleicher Fehler.

Die letzte Version 30.07 war erfolgreich. Aber seit 11.08 bekomme ich diesen Fehler beim Veröffentlichen:
2020-08-13T09:56:54.1669946Z 18 http holen PUT 404 https://registry.npmjs.org/@aurigma%2fui-framework 5611ms
2020-08-13T09:56:54.1670114Z 19 ausführlicher Stack-Fehler: 404 Not Found - PUT https://registry.npmjs.org/@aurigma%2fui-framework - Nicht gefunden

Ich habe versucht, npm publish von einem neuen Computer aus zu starten, und habe den gleichen unerwarteten 404 erhalten. In meinem Fall wurde es durch ein npm login gelöst. Ich verstehe, dass ein 401 das Vorhandensein eines privaten Pakets "durchsickern" könnte, aber ich denke, die CLI würde zuerst überprüfen, ob ich zuerst authentifiziert wurde, und mit einem passenderen Fehler antworten.

Hier ist der relevante Teil des Protokolls, als ich versucht habe, npm publish vor npm login :

19 verbose stack Error: 404 Not Found - PUT https://registry.npmjs.org/mock-fs - Not found
19 verbose stack     at /Users/tschaub/.nvm/versions/node/v14.8.0/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:117:15
19 verbose stack     at processTicksAndRejections (internal/process/task_queues.js:93:5)
20 verbose statusCode 404
21 verbose pkgid [email protected]
22 verbose cwd /Users/tschaub/projects/mock-fs
23 verbose Darwin 19.6.0
24 verbose argv "/Users/tschaub/.nvm/versions/node/v14.8.0/bin/node" "/Users/tschaub/.nvm/versions/node/v14.8.0/bin/npm" "publish"
25 verbose node v14.8.0
26 verbose npm  v6.14.8
27 error code E404
28 error 404 Not Found - PUT https://registry.npmjs.org/mock-fs - Not found
29 error 404
30 error 404 '[email protected]' is not in the npm registry.
31 error 404 You should bug the author to publish it (or use the name yourself!)
32 error 404 Note that you can also install from a
33 error 404 tarball, folder, http url, or git url.
34 verbose exit [ 1, true ]

Ja, npm login hilft. Das habe ich vor ein paar Tagen auch entdeckt. Aber es ist immer noch nicht klar, warum ich mich erneut autorisieren musste
Npm sollte ihre Fehlermeldungen verbessern.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen