npm unpublish
не работает и не показывает никаких ошибок, даже если реестр отвечает кодом 404.
npm unpublish @siliceum/[email protected] --loglevel verbose
публичный реестр npm
Командная строка печатает только
- @ siliceum / [email protected]
а сервер отвечает с ошибкой 404.
Кроме того, конечная точка https://registry.npmjs.org/@siliceum%2fcalcite-cli
возвращает информацию, но версия с ?write=true
( https://registry.npmjs.org/@siliceum%2fcalcite-cli?write=true
) возвращает ошибку 404 not found.
npm unpublish @siliceum/[email protected]
Пакет либо не опубликован, либо печатается ошибка. (в конечном счете, что-то еще, кроме 404).
На уровне подробного журнала можно получить следующий вывод
npm unpublish @siliceum/[email protected] --loglevel verbose
npm info это сработало, если оканчивается на ОК
npm глагол cli [
npm глагол cli 'C: \ Program Files \ nodejs \ node.exe',
npm verb cli 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js',
npm глагол cli 'отменить публикацию',
npm глагол cli '@ siliceum / [email protected] ',
npm глагол cli '--loglevel',
npm глагол cli 'подробный'
npm глагол cli]
информация npm с использованием [email protected]
информация npm с использованием [email protected]
глагол npm npm-session e43c8f8257e968e5
npm http fetch GET 404 https://registry.npmjs.org/@siliceum%2fcalcite-cli ? write = true 492 мс
- @ siliceum / [email protected]
npm глагол exit [0, истина]
npm тайминги npm Завершено за 1157 мс
npm информация в порядке
Также возникла эта проблема с npm unpublish
и npm deprecate
!
$ npm deprecate --force --verbose [email protected] "Generates errors related to exports in the browser, use 1.2.2 or newer"
...
npm http fetch GET 200 https://registry.npmjs.org/luar?write=true 328ms
npm http fetch PUT 404 https://registry.npmjs.org/luar 98ms
npm verb stack Error: 404 Not Found - PUT https://registry.npmjs.org/luar - Not found
npm verb stack at /usr/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:114:15
npm verb stack at processTicksAndRejections (internal/process/task_queues.js:93:5)
npm verb statusCode 404
npm verb pkgid [email protected]
...
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://registry.npmjs.org/luar - 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.
...
$ npm unpublish --force --verbose [email protected]
...
npm http fetch GET 200 https://registry.npmjs.org/luar?write=true 257ms
npm http fetch PUT 404 https://registry.npmjs.org/luar/-rev/5-260b27ca1cdb4a5d3b4175578e1c0300 99ms
npm verb stack Error: 404 Not Found - PUT https://registry.npmjs.org/luar/-rev/5-260b27ca1cdb4a5d3b4175578e1c0300 - Not found
npm verb stack at /usr/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:114:15
npm verb stack at processTicksAndRejections (internal/process/task_queues.js:93:5)
npm verb statusCode 404
npm verb pkgid [email protected]
...
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://registry.npmjs.org/luar/-rev/5-260b27ca1cdb4a5d3b4175578e1c0300 - 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.
...
Та же проблема при запуске npm deprecate
- возврат 404 Not Found. Причина заключалась в том, что я не прошел аутентификацию правильно ( npm adduser
разобрал), но вывод Not Found ведет вас по касательным. Даже если у API сервера нет возможности вернуть другой код состояния (например, 401), некоторые выходные данные этих команд, предлагающие войти в систему, будут хороши. Вывод может быть общим и всегда отображаться («убедитесь, что вы вошли в систему!») Или может отображаться, если у вас нет authToken.
Но я авторизован! Это в том же сеансе терминала, где я только что опубликовал новую версию как владелец пакета.
Ой! Неважно, я только что вышел из системы и снова вошел в систему, и теперь обе функции работают, странно, извините за путаницу!
@luawtf А, в этом случае похоже, что это та же ситуация, что и у меня - эти команды отображают 404 Not Found, когда фактическая проблема связана с аутентификацией.
Ага! Я согласен с тем, что было бы здорово допустить более общую и подробную ошибку.
Кроме того, почему реестр возвращает 404, если 401 Неавторизованный имеет больше смысла, не следует ли это также исправить?
Согласовано. Кажется странным для пакетов, которые уже являются общедоступными - в этом случае нет ничего лучше с точки зрения безопасности, возвращая 404, а не 401. Было бы разумно, если бы пакет был частным, так же как GitHub показывает 404, если вы пытаетесь получить доступ к частному репо при выходе из системы, чтобы не выдать тот факт, что по этому URL-адресу что-то вообще есть.
Я могу подтвердить, что проблема заключалась в том, что я не был авторизован.
Мне кажется, что возвращение 401 или сообщение с предупреждением о том, что вы не вошли в систему, звучат хорошо.
мы также столкнулись с этим с общедоступным пакетом. npm unpublish @scope/package<strong i="5">@version</strong> --verbose
показывает 404, но в остальном отмена публикации кажется успешной
У меня та же проблема, что я не могу deprecate
свой пакет. Я предположил, что это как-то связано с областью действия пакета, поскольку я заметил, что косая черта в имени пакета отображается как %2f
в URL-адресе, но я действительно не понимаю, что происходит.
$ node -v
v14.15.0
$ npm -v
6.14.8
$ npm deprecate @alling/foo-bar "This package should not be used."
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://registry.npmjs.org/@alling%2ffoo-bar - Not found
npm ERR! 404
npm ERR! 404 '@alling/foo-bar<strong i="9">@latest</strong>' 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.
@SimonAlling, что происходит с npm v7.0.11?
@SimonAlling, что происходит с npm v7.0.11?
$ docker run -it node bash
# npm -v
7.0.8
# npm login
Logged in as alling on https://registry.npmjs.org/.
npm notice
npm notice New patch version of npm available! 7.0.8 -> 7.0.11
npm notice Changelog: https://github.com/npm/cli/releases/tag/v7.0.11
npm notice Run npm install -g [email protected] to update!
npm notice
# npm deprecate nonexisting-package-asdfasdf LOL
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/nonexisting-package-asdfasdf?write=true
npm ERR! 404
npm ERR! 404 'nonexisting-package-asdfasdf<strong i="8">@latest</strong>' 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 deprecate @alling/foo-bar "This package should not be used."
Никаких ошибок или других выходных данных, но на странице пакета (например, https://www.npmjs.com/package/@alling/foo-bar) не появлялось сообщения об устаревании даже через полчаса, поэтому я попытался запустить команду снова:
# npm deprecate @alling/foo-bar "This package should not be used."
npm ERR! code E422
npm ERR! 422 Unprocessable Entity - PUT https://registry.npmjs.org/@alling%2ffoo-bar - Unprocessable Entity
Однако, если я перейду к определенной версии пакета (например, https://www.npmjs.com/package/@alling/foo-bar/v/1.1.6), я увижу ожидаемое сообщение об устаревании *. Но я хочу, чтобы он также отображался на главной странице пакета (например, urix
).
* Последняя версия: _Этот пакет устарел_. Любая другая версия: _Эта версия устарела_.
EDIT: сообщение об устаревании наконец появилось на главной странице пакета.
Это использует npm v7.0.8; можно npm install -g npm@7
перед запуском команды deprecate?
Сообщение об устаревании наконец появилось на главной странице пакета, поэтому я считаю, что он работает с npm v7.0.8. : Little_smiling_face:
Самый полезный комментарий
Ой! Неважно, я только что вышел из системы и снова вошел в систему, и теперь обе функции работают, странно, извините за путаницу!