Cli: npm publish 404 Not Found - PUT

Созданный на 7 авг. 2020  ·  3Комментарии  ·  Источник: npm/cli

Ближайшая проблема - # 1626, но она касается использования npm для получения пакета, и для большинства пользователей она кажется решенной.
Здесь речь идет о пакете публикации npm в CI, и это пока не решено.

Текущее поведение:

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.
[...]

Ожидаемое поведение:

Успешная публикация моего пакета из докера в gitlab-CI с аутентификацией npm_token.
(вчера он работал на моем ноутбуке с входом в npm, но не с npm_token в CI).

Действия по воспроизведению:

бывший. шаги для воспроизведения поведения:

  1. Разветвите это: https://framagit.org/1000i100/g1lien
  2. измените имя пакета и добавьте свой токен npm
  3. нажмите его с помощью тега на gitlab с активным CI.

Он должен воспроизвести проблему.

Среда:

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

  • ОС: Docker в gitlab с изображением: node: current
  • Узел: v14.7.0
  • NPM: 6.14.7

Самый полезный комментарий

Я пытался npm publish с новой машины и получил тот же самый неожиданный 404. В моем случае это было решено с помощью npm login . Я понимаю, что 401 может «просочить» присутствие частного пакета, но я думаю, что интерфейс командной строки сначала проверит, прошел ли я аутентификацию, и ответит более подходящей ошибкой.

Вот соответствующая часть журнала, когда я пытался npm publish перед 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 ]

Все 3 Комментарий

Та же ошибка.

Последний выпуск 30.07 прошел успешно. Но с 11.08 я получаю эту ошибку при публикации:
2020-08-13T09: 56: 54.1669946Z 18 http fetch PUT 404 https://registry.npmjs.org/@aurigma%2fui-framework 5611ms
2020-08-13T09: 56: 54.1670114Z 19 подробный стек Ошибка: 404 Not Found - PUT https://registry.npmjs.org/@aurigma%2fui-framework - Not found

Я пытался npm publish с новой машины и получил тот же самый неожиданный 404. В моем случае это было решено с помощью npm login . Я понимаю, что 401 может «просочить» присутствие частного пакета, но я думаю, что интерфейс командной строки сначала проверит, прошел ли я аутентификацию, и ответит более подходящей ошибкой.

Вот соответствующая часть журнала, когда я пытался npm publish перед 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 ]

Ага, npm login помогает. Несколько дней назад я тоже это обнаружил. Но до сих пор непонятно, зачем мне пришлось повторно авторизовать
Npm следует улучшить свои сообщения об ошибках.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги