Cli: [ERROR] npm update --global falla: npm ERR! global requiere una opción add o rm

Creado en 14 oct. 2020  ·  44Comentarios  ·  Fuente: npm/cli

Comportamiento actual:

$ npm install --global [email protected]

changed 1 package, and audited 1 package in 2s

found 0 vulnerabilities

$ npm update --global
npm ERR! global requires an add or rm option

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/felipesantos/.npm/_logs/2020-10-14T13_14_27_261Z-debug.log

$ npm update --global semver
npm ERR! global requires an add or rm option

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/felipesantos/.npm/_logs/2020-10-14T13_17_01_600Z-debug.log

$ cat /home/felipesantos/.npm/_logs/2020-10-14T13_14_27_261Z-debug.log
0 verbose cli [
0 verbose cli   '/home/felipesantos/.nvm/versions/node/v12.19.0/bin/node',
0 verbose cli   '/home/felipesantos/.nvm/versions/node/v12.19.0/bin/npm',
0 verbose cli   'update',
0 verbose cli   '--global'
0 verbose cli ]
1 info using [email protected]
2 info using [email protected]
3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/npmrc Completed in 1ms
5 timing config:load:builtin Completed in 1ms
6 timing config:load:cli Completed in 2ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/mnt/c/Users/felip/.npmrc Completed in 1ms
9 timing config:load:project Completed in 3ms
10 timing config:load:file:/home/felipesantos/.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:/home/felipesantos/.nvm/versions/node/v12.19.0/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 1ms
17 timing config:load:setEnvs Completed in 0ms
18 timing config:load Completed in 8ms
19 verbose npm-session 38aa94d0b0d83ff4
20 timing npm:load Completed in 14ms
21 timing arborist:ctor Completed in 0ms
22 timing command:update Completed in 2ms
23 verbose stack Error: global requires an add or rm option
23 verbose stack     at Arborist.buildIdealTree (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:185:29)
23 verbose stack     at Arborist.[loadTrees] (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:186:17)
23 verbose stack     at Arborist.reify (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:121:27)
23 verbose stack     at update (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/update.js:34:13)
23 verbose stack     at cmd (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/update.js:15:27)
23 verbose stack     at Object.[_runCmd] (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/npm.js:112:7)
23 verbose stack     at fn (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/npm.js:46:40)
23 verbose stack     at Object.<anonymous> (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/cli.js:56:7)
24 verbose cwd /mnt/c/Users/felip
25 verbose Linux 4.19.104-microsoft-standard
26 verbose argv "/home/felipesantos/.nvm/versions/node/v12.19.0/bin/node" "/home/felipesantos/.nvm/versions/node/v12.19.0/bin/npm" "update" "--global"
27 verbose node v12.19.0
28 verbose npm  v7.0.0
29 error global requires an add or rm option
30 verbose exit 1

Comportamiento esperado:

Antes de la v7.0.0, ejecutar npm update --global actualizaría todos los paquetes instalados globalmente que están desactualizados.

Pasos para reproducir:

Instale un paquete global desactualizado e intente actualizar todos los paquetes.

Medio ambiente:

  • SO: Ubuntu 20.04.1
  • Nodo: 12.19.0
  • npm: 7.0.0
Bug Release 7.x

Comentario más útil

Tampoco parece que la v7.0.9 vaya a solucionar el problema.

El error ha sido reconocido y se ha programado una solución para una próxima versión.

Todos 44 comentarios

Puedo confirmar que esto me pasa a mí también ...

➜  event-centre npm -v 
7.0.0
➜  event-centre npm -g update
npm ERR! global requires an add or rm option

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/michael/.npm/_logs/2020-10-17T21_49_17_159Z-debug.log
➜  event-centre cat /Users/michael/.npm/_logs/2020-10-17T21_49_17_159Z-debug.log 
0 verbose cli [
0 verbose cli   '/Users/michael/.nvm/versions/node/v14.13.0/bin/node',
0 verbose cli   '/Users/michael/.nvm/versions/node/v14.13.0/bin/npm',
0 verbose cli   '-g',
0 verbose cli   'update'
0 verbose cli ]
1 info using [email protected]
2 info using [email protected]
3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/npmrc Completed in 0ms
5 timing config:load:builtin Completed in 0ms
6 timing config:load:cli Completed in 2ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/Volumes/Developer/event-centre/.npmrc Completed in 0ms
9 timing config:load:project Completed in 1ms
10 timing config:load:file:/Users/michael/.npmrc Completed in 1ms
11 timing config:load:user Completed in 1ms
12 timing config:load:file:/Users/michael/.nvm/versions/node/v14.13.0/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 1ms
17 timing config:load:setEnvs Completed in 0ms
18 timing config:load Completed in 7ms
19 verbose npm-session 7a6ea29e573a5509
20 timing npm:load Completed in 12ms
21 timing arborist:ctor Completed in 0ms
22 timing command:update Completed in 3ms
23 verbose stack Error: global requires an add or rm option
23 verbose stack     at Arborist.buildIdealTree (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:185:29)
23 verbose stack     at Arborist.[loadTrees] (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:186:17)
23 verbose stack     at Arborist.reify (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:121:27)
23 verbose stack     at update (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/update.js:34:13)
23 verbose stack     at cmd (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/update.js:15:27)
23 verbose stack     at Object.[_runCmd] (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/npm.js:112:7)
23 verbose stack     at fn (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/npm.js:46:40)
23 verbose stack     at Object.<anonymous> (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/cli.js:56:7)
24 verbose cwd /Volumes/Developer/event-centre
25 verbose Darwin 19.6.0
26 verbose argv "/Users/michael/.nvm/versions/node/v14.13.0/bin/node" "/Users/michael/.nvm/versions/node/v14.13.0/bin/npm" "-g" "update"
27 verbose node v14.13.0
28 verbose npm  v7.0.0
29 error global requires an add or rm option
30 verbose exit 1

npm update --global falla: npm ERR! global requiere una opción add o rm

Mismo error si solo quiero actualizar paquetes globales:

npm -g update

O

npm -g upgrade

Verlo con v7.0.1 en Windows y Debian 10.

Estos funcionaron para 6.x

parece estar arreglado en v7.0.2

Sigo viendo el mismo problema con 7.0.2

$ npm -v
7.0.2

$ npm -g actualización
npm ERR! global requiere una opción add o rm

Puedo confirmar el mismo comportamiento en npm 7.0.3 en Windows 10 x64. Acabo de actualizar de npm @ 6 y recibí esta sorpresa.

npm v 7.0.2 en macOS nodejs v15 tiene el mismo problema.

npm ERR! global requiere una opción add o rm
npm ERR! Puede encontrar un registro completo de esta ejecución en:
npm ERR! /Users/user/.npm/_logs/2020-10-21T09_28_30_807Z-debug.log

[email protected] /Users/username/.nvm/versions/node/v15.0.1/lib/node_modules/npm

❯ npm update -g
npm ERR! global requires an add or rm option

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/username/.npm/_logs/2020-10-22T20_49_47_598Z-debug.log

El mismo problema para mí. MacOS, npm v7.0.3. Usando nvm.

Mismo. En MacOS, con Brew.

I brew rm node y brew install node para solucionar el problema de que npm ls -g no muestra ningún paquete.

Después de eso, npm i npm@^6 -g luego ejecuté npm update -g (en realidad, también hice npm update eslinst<strong i="12">@lastest</strong> -g primero)

Luego ejecuté npm i npm<strong i="15">@latest</strong> -g y ahora npm update -g no informa un error. (Ya no hay actualizaciones disponibles, pero parece arreglado para mí, por ahora).

Hice lo mismo que @WraithKenny , pero con la diferencia de que npm i npm -g sin especificar @^6 y se instalará por defecto __ver 6.14.8__, pero luego cuando npm list -g , no muestra nada. Luego reinstalé npm pero ver 7 >> npm i npm<strong i="9">@7</strong> -g y ahora no hay errores y cuando npm list -g muestra todos los paquetes instalados globalmente, y ya no hay errores.

Debido a que npm 7 no es la “última”, no querrá usar npm install -g npm una vez que esté en npm 7, ya que eso lo degradará a 6. Use @7 para asegurarse de quedarse en v7.

Encontré este problema hoy en Win 10 después de actualizar el nodo a la versión 15.0.1 y concomitantemente npm a la versión 7.0.5. Un vistazo rápido a los archivos en el seguimiento de la pila de registros de depuración apunta a las siguientes líneas (184-5) en el archivo npmnode_modulesnpmnode_modules @ npmcli \ arboristlib \ arboristbuild-ideal-tree.js:

    if (!options.add && !options.rm && this[_global])
      return Promise.reject(new Error('global requires an add or rm option'))

Esta es mi primera profundización en el código subyacente y no me queda claro por el contexto en torno a estas líneas cuál es su propósito previsto, pero claramente ponen un freno a cualquier acción de actualización global que no sea add o rm.

brew install nodejs
npm update --global --quiet
npm ERR! global requires an add or rm option

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xxxxxxxx/.npm/_logs/2020-10-24T04_20_28_320Z-debug.log

@WraithKenny @alaadahmed Probablemente ambos tengan ahora dos directorios globales node_modules, ¿verdad?

1) /usr/local/lib/node_modules (con npm 6.14.8 y todos sus módulos globales anteriores)

y

2) /usr/local/Cellar/node/15.0.1/lib/node_modules (con npm 7.0.5 y cero módulos globales (todavía))

Y llamar a npm usará 6.14.8 pero mostrará los módulos en /usr/local/Cellar/node/15.0.1/lib/node_modules , ¿verdad?

@ErikAbele Sí, me enteré de esto más tarde.

@ErikAbele Sí, me enteré de esto más tarde.

Sí, viendo lo mismo aquí en OSX :-( Lo tengo todo ordenado en mi caja de Ubuntu 20.04, pero tan pronto como intento actualizar npm a 7.0.5 en OSX, cambia mi directorio global node_modules a /usr/local/Cellar/node/15.0.1/... :

Ubuntu 20.04:

erik<strong i="11">@RaspberryPi</strong>:~$ which npm 
/usr/bin/npm
erik<strong i="12">@RaspberryPi</strong>:~$ npm --version
7.0.5
erik<strong i="13">@RaspberryPi</strong>:~$ npm list -g
/usr/lib
├── @codefaktor/[email protected] -> /home/erik/repos/codefaktor/qubot
├── [email protected]
├── [email protected]
└── [email protected]

Mac OS X:

[erik<strong i="17">@Odin</strong> ~]% which npm                                                                                                                                                                                                           14:26:48
/usr/local/bin/npm
[erik<strong i="18">@Odin</strong> ~]% npm --version                                                                                                                                                                                                       14:32:30
7.0.3
[erik<strong i="19">@Odin</strong> ~]% npm list -g                                                                                                                                                                                                         14:32:36
/usr/local/lib
├── @codefaktor/[email protected] -> /Users/erik/Workzone/Projects/codefaktor.de/qubot
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

Y tan pronto como hago un npm install npm<strong i="22">@7</strong> -g en este último, lo vuelvo a estropear: - / Entonces, si alguien sabe cómo solucionarlo, agradecería un ping, TIA! ;-)

OK, hice lo siguiente y resolvió el problema de la ruta recién creada para paquetes globales:

1- npm config set prefix '/usr/local' >> esto establecerá la ruta para los paquetes instalados globalmente y buscará la carpeta lib dentro de esta ruta y luego instalará cualquier paquete en la carpeta node_modules dentro de lib .. entonces para macOS encontrará todos sus paquetes instalados dentro de /usr/local/lib/node_modules >> pero esto funcionará con [email protected] no 7.0.3 así que necesita verificar cuál versión de npm que tienes.
Después de actualizar el nodo a 15.0.1 instaló [email protected] así que configuré la ruta del prefijo como se muestra en el paso __1__ entonces y solo entonces actualicé npm a 7.0.5 con npm i npm -g
Ahora, cuando npm list -g , muestra todos mis paquetes instalados antes. También npm update -g funciona bien.

Creo que para ubuntu necesitas hacer npm config set prefix '/usr' por lo que buscará la carpeta lib en esa ruta e instalará cualquier paquete dentro de node_modules debajo de lib así la ruta completa será /usr/lib/node_modules

__update__: todavía no funciona con npm @ 7 .. pero funciona con npm @ 6 y node 15.0.1 con la ruta a los paquetes fijada en /usr/local/lib/node_modules
Todavía sufro con npm@7 menos de node 15.0.1

Excelente, esto finalmente funcionó, ¡gracias!

(Extraño, npm config get prefix ya tenía esa ruta, pero establecerla en otro momento realmente impidió la creación de la segunda estructura de directorio).

@ErikAbele ¿De acuerdo, ahora qué versión de npm tienes? Y si npm@7 ¿puedes ganar npm update -g ?!

Tenía [email protected] (que vino con la nueva instalación de [email protected]), luego agregué el prefijo y actualicé a [email protected] a través de npm install npm<strong i="7">@7</strong> -g y ahora tengo 7.0.5 en / usr / local / lib / ...

npm update -g todavía no funciona, pero npm outdated -g funciona para la ruta correcta y simplemente puedo hacer, por ejemplo, npm install eslint<strong i="12">@latest</strong> -g para actualizar paquetes específicos con el último npm en la ruta correcta. Eso es todo lo que necesito por ahora (y hasta que npm se haya solucionado en sentido ascendente) ...

Supongo que mientras 7.0.5 no esté marcado como el último (y en su lugar, 6.14.8 lo sea) tendremos que vivir con eso ...: - /

Retrocedo a [email protected] pero uso node 15.0.1 , y cuando marquen npm@7 como __latest__ lo actualizaré.

Buenos dias a todos. Tengo el mismo problema.

Si hago "npm upadate -g" me da "global requiere una opción add o rm" y si hago "npm list -g" me da " [email protected] ". Si cambio a npm 6, el problema persiste.

Mi verdadero problema es que tenía muchos paquetes instalados globalmente y no recuerdo todos. ¿Hay alguna forma de recuperarlos?

Estoy en macOS Mojave.

Puede leer esto y resolverá su problema: https://github.com/npm/cli/issues/1962#issuecomment -715911549

Nodejs 15.0.1
npm 7.0.3

Usando "npm set config", apuntando a mi carpeta de perfil de usuario. Ahora apunta a la carpeta de módulos correcta, pero ahora, al ejecutar una solicitud desactualizada (npm outdated -g) enumera muchos más paquetes desactualizados.

image

y la lista continúa para muchos más paquetes ...

Me encuentro con todos los problemas en este hilo 😞. . . bajar de categoría a v6.14.8 hasta que se resuelvan estos problemas

npm 7.0.6 está disponible y el mismo problema persiste. ; o (

¿Ya se está trabajando en una solución oficial? Ahora mismo no puedo actualizar mis paquetes globales sin reinstalarlos.

¿Sigue sucediendo esto en v7.0.7?

NPM v7.0.8 está disponible y el error aún existe. Por favor haz algo respecto a eso.

Posible solución alternativa, Mac:
Use n para instalar y luego cambie a una nueva versión de nodo / npm.
https://github.com/tj/n
Luego vuelve y
sudo npm -g update debería funcionar

Posible solución alternativa, Mac:
Use n para instalar y luego cambie a una nueva versión de nodo / npm.
https://github.com/tj/n
Luego vuelve y
sudo npm -g update debería funcionar

¿Cuál es la salida de sudo npm --version ?

@felipecrs dependerá de la versión instalada con n.
Mío: npm 6.14.8 cuando el nodo es v12.13.1

Posible solución alternativa, Mac:
Use n para instalar y luego cambie a una nueva versión de nodo / npm.
https://github.com/tj/n
Luego vuelve y
sudo npm -g update debería funcionar

¿Cuál es la salida de sudo npm --version ?

@felipecrs dependerá de la versión instalada con n.
Mío: npm 6.14.8 cuando el nodo es v12.13.1

Pruebe npm v7.0.8?

Pruebe npm v7.0.8?

El problema persiste :-(

Este problema ha vuelto con la actualización de homebrew de hoy.

Solo para solucionar esto, es un problema con npm v7 sin importar qué versión de nodo (como 15).

Puedo confirmar que este problema persiste ... ¿Hemos oído hablar de que se esté trabajando en una solución? Recibí una nueva computadora de trabajo la semana pasada y no he tenido suerte :(

@felipecrs et al: sí, tienes razón, es un problema solo con npm @ 7 ; acabo de probar con la última versión 7.0.8 y el problema persiste.

Eliminé por completo la carpeta del módulo Node y npm en mi% USERAPPDATA%.
Nodo reinstalado (15.0.1).
Npm actualizado a 7.07.

1) npm desactualizado -g
da una lista de muchos módulos que están desactualizados

2) npm list -g --depth = 0
Ahora enumera los módulos (antes solo mostraba npm)

3) actualización npm npm -g
(para actualizar npm a 7.0.8)
npm ERR! global requiere una opción add o rm

Conclusión:
reinstalar todo soluciona algo, pero el error npm persiste. Creo que esta tampoco es una forma viable.

Tampoco parece que la v7.0.9 vaya a solucionar el problema.

Tampoco parece que la v7.0.9 vaya a solucionar el problema.

El error ha sido reconocido y se ha programado una solución para una próxima versión.

¡Gracias por investigar esto, @isaacs!

¡Hurra! Gracias @isaacs por cc0c6e1 .

Muchas gracias por arreglar esto. ¿Cuándo espera que se lance la próxima actualización con esta solución?

¿Fue útil esta página
0 / 5 - 0 calificaciones