react plugin paquetes node instalar globales eliminar desinstalar con gruntjs npm uninstall

gruntjs - plugin - Cómo desinstalar el paquete npm?



uninstall package node (4)

Instalé ronco usando sudo npm install grunt y no puedo eliminarlo.

Lo intento:

$ sudo npm uninstall grunt

pero da WARN:

npm WARN uninstall not installed in /home/kuba/projects/node_modules: "grunt-cli"

También probé rm, eliminar y desvincular. y -g opción, da:

npm WARN uninstall not installed in /usr/lib/node_modules: "grunt"

pero todavía puedo llamar a grunt desde la línea de comandos.

EDITAR :

$ whereis grunt grunt: /usr/local/bin/grunt $ file /usr/local/bin/grunt /usr/local/bin/grunt: symbolic link to `../lib/node_modules/grunt/bin/grunt'' $ ls /usr/local/lib/node_modules grunt jshint $ ls /usr/lib/node_modules bower csslint devtools-terminal npm plato

¿Por qué tengo 2 directorios con npm? ¿Es seguro simplemente eliminarlo?


En algunos casos, puede ser necesario utilizar la función "quitar un paquete" de npm.

npm - Eliminar un paquete

Descripción

"Esto desinstala un paquete, eliminando por completo todo lo que npm instaló en su nombre".

En su tercer bloque de código, publicó este mensaje:

npm WARN uninstall not installed in /home/kuba/projects/node_modules: "grunt-cli"

He descubierto que usando el

which grunt

o el

whereis grunt

los comandos en la CLI / consola proporcionan una salida incompleta y confusa.

Ambos comandos devolverán la ruta de la instalación grunt-cli , pero devuelve esto simplemente como ronco .

También usando,

which grunt-cli

o el

whereis grunt-cli

no puede devolver ningún resultado a la consola CLI. Creo que esta es una cuestión / función del espacio de nombres con npm.

También tuve una situación en la que no pude desinstalar el grunt-cli con la función de desinstalación de npm recomendada por otros colaboradores anteriores.

Lo único que funcionó para mí fue utilizar la función npm remove con el nombre completo del programa, como se demuestra a continuación.

npm rm -g grunt-cli

Esto debería devolver lo siguiente a tu consola.

unbuild grunt-cli@#.##.#

¡Buena suerte!


Esto mismo me pasó a mí. Haciendo

which grunt

Obtuve path / usr / local / bin /. Hubo un gruñido en la carpeta dentro de esto. Pero en el comando de ejecución (incluso desde dentro de la ruta / usr / local / bin /):

sudo npm uninstall -g grunt

Tengo la desinstalación de advertencia no instalada

Solución: resulta que instalé usando el comando

sudo npm install -g grunt-cli

Y mientras trataba de quitarlo, solo estaba escribiendo un gruñido

Entonces, una vez que corro

sudo npm unistall -g grunt-cli

gruñido fue removido

Aunque tienes una mención en cuestión que corres

sudo npm install grunt

Pero aún así verifica si también estás cometiendo el mismo error y ejecútalo con grunt-cli


Usa primero este

which grunt-cli

O

which grunt

Y esto te mostrará el camino al módulo

En mi caso, estaba en / usr / local / bin /

Una vez que ingresé a la carpeta bin, escribí

sudo rm grunt

Y ese fue el final :)


Para desinstalar un módulo npm de la carpeta project node_modules , ejecute:

npm uninstall <module> --save

Tenga en cuenta que los módulos npm deben desinstalar del mismo directorio que contiene la carpeta node_modules cuando se ejecuta este comando. La opción --save también lo eliminará de su package.json . package.json

También se puede eliminar una instalación de dependencia / módulo local, eliminando su directorio de la carpeta local node_modules . Sí, es seguro eliminar dependencias allí.

Para desinstalar un módulo npm que se instaló globalmente, ejecute:

npm uninstall -g <module>

No importa desde dónde ejecuta este comando.

Para instalar un módulo npm , ejecute: (solo como referencia)

npm install <module>

...o:

npm install (si hay un archivo package.json en la raíz de su proyecto)

...o:

npm install <module> --save-dev (si desea agregar una versión mínima a la dependencia)

Cosas buenas que saber sobre Grunt :

  • Si instaló grunt estable antes del 18 de febrero de 2013 ( se lanzó el día de grunt v0.4.x ), es posible que aún tenga una versión de grunt más antigua en su sistema. Esto se debe a que las versiones de grunt inferiores a 0.4.x se instalaron globalmente, lo que causó mucho dolor al actualizar / mantener las versiones.
  • grunt y grunt-cli son dos cosas diferentes.

    • grunt (sin el "cli") generalmente se instala en el nivel del proyecto (cuando aparece como devDependency en package.json ) ejecutando npm install . Eso también se conoce como una instalación local .
    • grunt-cli es la base subyacente sobre la cual las versiones locales de grunt ejecutan en diferentes proyectos / carpetas. Se puede instalar localmente, pero es más útil cuando se instala globalmente, una vez.
  • grunt solo se instala localmente (ejecutando npm install grunt ).

  • grunt-cli se instala preferiblemente globalmente (ejecutando npm install -g grunt-cli ). npm página oficial de npm grunt-cli todavía advierte contra la instalación de grunt (sin cli) globalmente.
  • Si desea desinstalar la instalación global de grunt-cli , ejecute npm uninstall -g grunt-cli . Este problema en el proyecto de gruntjs es compatible con este procedimiento.
  • Nunca instale grunt globalmente (ejecutando npm install -g grunt ).

En npm y sudo

sudo no funciona bien con npm . Solo úsalo si debes. A continuación hay dos citas sobre las ventajas y desventajas de su uso:

Citando a Isaac Z. Schlueter en su artículo Introducción a la npm :

¡Te recomiendo encarecidamente que no hagas la gestión de paquetes con sudo! Los paquetes pueden ejecutar scripts arbitrarios, lo que hace que sudoir un comando de administrador de paquetes sea tan seguro como un corte de pelo con motosierra. Claro, es rápido y definitivamente va a atravesar cualquier obstáculo, pero en realidad podrías querer ese obstáculo para permanecer allí.

Recomiendo hacer esto una vez en su lugar:

sudo chown -R $USER /usr/local

Eso configura su cuenta de usuario como el propietario del directorio / usr / local, de modo que puede simplemente emitir comandos normales allí. Entonces nunca tendrá que usar sudo cuando instale el nodo o emita los comandos npm.

Es mucho mejor de esta manera. / usr / local se supone que es lo que instalaste, después de todo.

Otra captura mencionada por Andrei Karpushonak :

Existen ciertas preocupaciones de seguridad y limitaciones de funcionalidad con respecto a cambiar la propiedad de / usr / local al usuario actual:

Una vez dicho esto, si desea instalar un módulo global sin utilizar sudo, no veo ninguna solución mejor (desde el punto de vista pragmático) que la mencionada. La seguridad frente a la facilidad de uso es un tema muy amplio, y no hay una respuesta fácil para eso, solo depende de sus requisitos.