npm unpublish
ne fonctionne pas et n'affiche aucune erreur même si le registre répond avec un code 404.
npm unpublish @siliceum/[email protected] --loglevel verbose
registre public npm
La ligne de commande imprime uniquement
- @ siliceum / [email protected]
tandis que le serveur répond avec une erreur 404.
De plus, le point https://registry.npmjs.org/@siliceum%2fcalcite-cli
terminaison ?write=true
( https://registry.npmjs.org/@siliceum%2fcalcite-cli?write=true
) renvoie une erreur 404 introuvable.
npm unpublish @siliceum/[email protected]
Le package n'est pas publié ou une erreur est imprimée. (finalement, autre chose qu'une 404).
Avec le niveau de journalisation détaillé, il est possible d'avoir la sortie suivante
npm unpublish @siliceum/[email protected] --loglevel verbose
npm info ça a marché si ça se termine par ok
npm verbe cli [
npm verbe cli 'C: \ Program Files \ nodejs \ node.exe',
npm verbe cli 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js',
npm verbe cli 'unpublish',
npm verbe cli '@ siliceum / [email protected] ',
npm verbe cli '--loglevel',
npm verbe cli 'verbose'
npm verbe cli]
info npm en utilisant [email protected]
npm info en utilisant [email protected]
npm verbe npm-session e43c8f8257e968e5
npm http chercher GET 404 https://registry.npmjs.org/@siliceum%2fcalcite-cli ? write = true 492ms
- @ siliceum / [email protected]
npm verbe exit [0, true]
npm timing npm Terminé en 1157 ms
npm info ok
J'ai également ce problème avec npm unpublish
et 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.
...
Avoir le même problème lors de l'exécution de npm deprecate
- récupérer un 404 introuvable. La cause était parce que je n'étais pas authentifié correctement ( npm adduser
trié) - mais la sortie Not Found vous conduit sur les tangentes. Même s'il n'y a aucune possibilité pour l'API du serveur de renvoyer un code d'état différent (comme un 401), certaines sorties de ces commandes suggérant de se connecter seraient bonnes. La sortie peut être générique et toujours affichée ("assurez-vous que vous êtes connecté!") Ou peut être affichée si vous n'avez pas de authToken présent.
Mais je suis connecté! C'est exactement dans la même session de terminal où je viens de publier une nouvelle version en tant que propriétaire du package
Oops! Tant pis, je viens de me déconnecter et de me reconnecter et maintenant les deux fonctions fonctionnent, bizarre, désolé pour la confusion!
@luawtf Ah, dans ce cas, on dirait que c'est la même situation que la mienne - ces commandes affichent 404 Not Found lorsque le problème réel est lié à l'authentification.
Oui! Je conviens qu'une erreur plus générale et verbeuse serait formidable.
Aussi, pourquoi le registre renvoie-t-il un 404 alors qu'un 401 non autorisé aurait plus de sens, cela ne devrait-il pas également être corrigé?
D'accord. Cela semble étrange pour les paquets déjà publics - il n'y a rien à gagner en termes de sécurité en renvoyant un 404 plutôt qu'un 401 dans ce cas. Cela aurait du sens si un package était privé, un peu comme la façon dont GitHub affiche un 404 si vous essayez d'accéder à un dépôt privé lorsque vous êtes déconnecté afin de ne pas révéler le fait qu'il y a quoi que ce soit à cette URL.
Je peux confirmer que le problème était que je n'étais pas connecté.
Renvoyer un 401 ou avoir un message d'avertissement de ne pas être connecté me semble bon.
nous avons rencontré cela avec un paquet public également. npm unpublish @scope/package<strong i="5">@version</strong> --verbose
affiche un 404, mais autrement la dépublication semble réussir
J'ai le même problème, étant incapable de deprecate
un de mes paquets. J'ai supposé que cela avait quelque chose à voir avec la portée du package, car j'ai remarqué que la barre oblique dans le nom du package est affichée comme %2f
dans l'URL, mais je ne comprends vraiment pas ce qui se passe.
$ 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 que se passe-t-il avec npm v7.0.11?
@SimonAlling que se passe-t-il avec 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."
Aucune erreur ou autre sortie, mais aucun message d'obsolescence n'est apparu sur la page du package (c'est-à-dire https://www.npmjs.com/package/@alling/foo-bar), même après environ une demi-heure, j'ai donc essayé d'exécuter le commande à nouveau:
# 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
Cependant, si je vais à une version spécifique du package (par exemple https://www.npmjs.com/package/@alling/foo-bar/v/1.1.6), je vois le message de dépréciation attendu *. Mais je veux qu'il apparaisse également sur la page principale du package (comme par exemple urix
).
* Dernière version: _Ce package est obsolète_. Toute autre version: _Cette version est obsolète_.
EDIT: Le message d'obsolescence est finalement apparu sur la page principale du package.
Cela utilise npm v7.0.8; pouvez-vous npm install -g npm@7
avant d'exécuter la commande obsolète?
Le message d'obsolescence est finalement apparu sur la page principale du package, donc je pense qu'il fonctionne avec npm v7.0.8. : légèrement_smiling_face:
Commentaire le plus utile
Oops! Tant pis, je viens de me déconnecter et de me reconnecter et maintenant les deux fonctions fonctionnent, bizarre, désolé pour la confusion!