cli icon indicating copy to clipboard operation
cli copied to clipboard

[BUG] Un-deprecating a package returns EUSAGE error

Open Luna-Klatzer opened this issue 2 years ago • 9 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

This issue exists in the latest npm version

  • [X] I am using the latest npm

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/[email protected] ""

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

  • npm: 8.8.0
  • Node.js: 16.13.0
  • OS Name: Windows
  • System Model Name: Custom
  • npm config:
; "builtin" config from C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\npmrc

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.

Luna-Klatzer avatar Apr 28 '22 15:04 Luna-Klatzer

I think the problem is in your npm config file

ulvimemmeedov avatar Apr 29 '22 09:04 ulvimemmeedov

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.

wopian avatar Aug 11 '22 15:08 wopian

Any update or workaround, facing the same issue?

cd10anil avatar Jan 13 '23 19:01 cd10anil

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

cd10anil avatar Jan 14 '23 05:01 cd10anil

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

JohnCampionJr avatar Jul 08 '23 02:07 JohnCampionJr

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 [email protected] '""'

ebickle avatar Aug 16 '23 17:08 ebickle

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.

BonjourYY avatar Oct 17 '23 03:10 BonjourYY