npm / cli

the package manager for JavaScript
https://docs.npmjs.com/cli/
Other
8.3k stars 3.04k forks source link

[BUG] Un-deprecating a package returns EUSAGE error #4824

Open Luna-Klatzer opened 2 years ago

Luna-Klatzer commented 2 years ago

Is there an existing issue for this?

This issue exists in the latest npm version

Current Behavior

When trying to un-deprecate certain versions of my @kipper/base module, there is an error saying there is a usage error, despite following the guidelines on the docs page:

To un-deprecate a package, specify an empty string ("") for the message argument. Note that you must use double quotes with no space between them to format an empty string. From here

My command:

npm deprecate @kipper/base@0.2.0 ""

The output:

npm ERR! code EUSAGE
npm ERR!
npm ERR! Deprecate a version of a package
npm ERR!
npm ERR! Usage:
npm ERR! npm deprecate <pkg>[@<version>] <message>
npm ERR!
npm ERR! Options:
npm ERR! [--registry <registry>] [--otp <otp>]
npm ERR!
npm ERR! Run "npm help deprecate" for more info

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Luna\AppData\Local\npm-cache\_logs\2022-04-28T15_31_41_080Z-debug-0.log

Full verbose log:

33 verbose stack Error: 
33 verbose stack Deprecate a version of a package
33 verbose stack
33 verbose stack Usage:
33 verbose stack npm deprecate <pkg>[@<version>] <message>
33 verbose stack
33 verbose stack Options:
33 verbose stack [--registry <registry>] [--otp <otp>]
33 verbose stack
33 verbose stack Run "npm help deprecate" for more info
33 verbose stack     at Deprecate.usageError (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\base-command.js:88:26)
33 verbose stack     at Deprecate.exec (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\commands\deprecate.js:37:18)
33 verbose stack     at Npm.exec (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\npm.js:169:29)
33 verbose stack     at async module.exports (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\cli.js:78:5)
34 verbose cwd C:\Users\Luna
35 verbose Windows_NT 10.0.19043
36 verbose node v16.13.0
37 verbose npm  v8.8.0
38 error code EUSAGE
39 error
39 error Deprecate a version of a package
39 error
39 error Usage:
39 error npm deprecate <pkg>[@<version>] <message>
39 error
39 error Options:
39 error [--registry <registry>] [--otp <otp>]
39 error
39 error Run "npm help deprecate" for more info
40 verbose exit 1
41 timing npm Completed in 49ms
42 verbose code 1
43 error A complete log of this run can be found in:
43 error     C:\Users\Luna\AppData\Local\npm-cache\_logs\2022-04-28T15_31_41_080Z-debug-0.log

Expected Behavior

The command should execute properly and un-deprecate the package.

Steps To Reproduce

  1. Login into npm using npm login
  2. Run npm deprecate PACKAGE@VERSION ""

Environment

prefix = "C:\Users\Luna\AppData\Roaming\npm"

; "global" config from C:\Users\Luna\AppData\Roaming\npm\etc\npmrc

; python = "C:\Users\Luna\.windows-build-tools\python27\python.exe" ; overridden by user

; "user" config from C:\Users\Luna.npmrc

@kipper:registry = "https://registry.npmjs.org/" //registry.npmjs.org/:_authToken = (protected) python = "C:\Users\Luna\.windows-build-tools\python27\python.exe" scope = "@kipper"

; node bin location = C:\Program Files\nodejs\node.exe ; node version = v16.13.0 ; npm local prefix = C:\Users\Luna ; npm version = 8.8.0 ; cwd = C:\Users\Luna ; HOME = C:\Users\Luna ; Run npm config ls -l to show all defaults.

ulvimammaadov commented 2 years ago

I think the problem is in your npm config file

wopian commented 2 years ago

Also facing this issue preventing versions from being undeprecated, appears to be another regression of https://github.com/npm/cli/pull/3484

This only happens on Windows. The command executes as expected on macOS 12 and Alpine Linux

npm config

; "builtin" config from C:\Users\wopia\AppData\Roaming\npm\node_modules\npm\npmrc

prefix = "C:\\Users\\wopia\\AppData\\Roaming\\npm"

; "user" config from C:\Users\wopia\.npmrc

//registry.npmjs.org/:_authToken = (protected)

; node bin location = C:\Program Files\nodejs\node.exe
; node version = v18.5.0
; npm local prefix = C:\GitHub\wopian\kitsujs
; npm version = 8.17.0
; cwd = C:\GitHub\wopian\kitsujs
; HOME = C:\Users\wopia
; Run `npm config ls -l` to show all defaults.
cd10anil commented 1 year ago

Any update or workaround, facing the same issue?

cd10anil commented 1 year ago

Any update or workaround, facing the same issue?

Fixed it, on created the react app with npx create then ran upgrade and npm audit fix --force as suggested when run successfully but with compiled and got comments when implemented/run. this breaks it. and got the above error. the thing it fixed is by using the command npm install react@latest followed by

npm install react-dom@latest
npm install react-scripts@latest
JohnCampionJr commented 1 year ago

This is still an issue. Confirmed to be on Windows; works fine on my Mac.

ebickle commented 1 year ago

I realized this only occurs while using Powershell. Switching to Command Prompt solved the problem.

Try double-quoting the argument (two double quotes inside of two single quotes), like this: npm deprecate package@1.0.0 '""'

BonjourYY commented 10 months ago

I have faced the same problem and it still exists. I found that this issue occurs in PowerShell, but it does not occur in Git Bash.

Amirali-Khamseh commented 3 months ago

This problem could be resolved by adding the package-lock.json , runnpm install and then try npm ci

kolmek1007 commented 2 months ago

I have error but i don't know how i can solve it: PS C:\Users\kolme\Downloads\API_REST_1> npm star npm ERR! code EUSAGE npm ERR! npm ERR! Mark your favorite packages npm ERR! npm ERR! Usage: npm ERR! npm star [...] npm ERR! npm ERR! Options: npm ERR! [--registry ] [--no-unicode] [--otp ] npm ERR! npm ERR! Run "npm help star" for more info

npm ERR! A complete log of this run can be found in: C:\Users\kolme\AppData\Local\npm-cache_logs\2024-06-25T15_18_56_495Z-debug-0.log