Solución:
Para desinstalar un npm
módulo del proyecto node_modules
carpeta, ejecute:
npm uninstall <module> --save
Tenga en cuenta que npm
Los módulos deben desinstalarse del mismo directorio que contiene el node_modules
carpeta al ejecutar este comando. los --save
La opción también la eliminará de su package.json
También se puede eliminar una instalación de módulo / dependencia local, eliminando su directorio del local node_modules
carpeta. Sí, es seguro eliminar dependencias allí.
Para desinstalar un npm
módulo que se instaló globalmente, ejecute:
npm uninstall -g <module>
No importa desde dónde ejecute este comando.
Para instalar un npm
módulo, ejecutar: (solo se entiende como referencia)
npm install <module>
…o:
npm install
(si hay un package.json
archivo 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 para saber Gruñido:
- Si ha instalado
grunt
estable antes del 18 de febrero de 2013 (el díagrunt v0.4.x
fue lanzado), es posible que tenga unagrunt
la versión aún persiste en su sistema. Eso es porquegrunt
versiones inferiores a0.4.x
se instalaron globalmente, lo que causó muchos problemas al actualizar / mantener versiones. -
grunt
ygrunt-cli
son dos cosas diferentes.-
grunt
(sin “cli”) normalmente se instala a nivel de proyecto (cuando aparece comodevDependency
enpackage.json
) mediante la ejecuciónnpm install
. Eso también se conoce como instalación local. -
grunt-cli
es la base subyacente sobre la cual las versiones locales degrunt
ejecutar en diferentes proyectos / carpetas. Eso pueden instalarse localmente, pero es más útil cuando se instala globalmente, una vez.
-
-
grunt
solo se instala localmente (ejecutandonpm install grunt
). -
grunt-cli
es preferiblemente instalado globalmente (ejecutandonpm install -g grunt-cli
).grunt-cli
oficialnpm
la página todavía advierte contra la instalacióngrunt
(sin el cli) a nivel mundial. - Si desea desinstalar la instalación global de
grunt-cli
, corrernpm uninstall -g grunt-cli
. Este problema en el proyecto de gruntjs es compatible con este procedimiento. -
Nunca instale
grunt
globalmente (mediante la ejecuciónnpm install -g grunt
).
Sobre npm
y sudo
sudo
no juega bien con npm
. Úselo solo si es necesario. A continuación se muestran dos citas sobre las ventajas y desventajas de su uso:
Cotización Isaac Z. Schlueter en su artículo de Introducción a npm:
¡Te recomiendo encarecidamente que no gestiones paquetes con sudo! Los paquetes pueden ejecutar scripts arbitrarios, lo que hace que ejecutar un comando del administrador de paquetes sea tan seguro como un corte de pelo con una motosierra. Claro, es rápido y definitivamente eliminará cualquier obstáculo, pero es posible que desee que ese obstáculo permanezca allí.
Recomiendo hacer esto una vez en su lugar:
sudo chown -R $USER /usr/local
Eso establece su cuenta de usuario como propietaria del directorio / usr / local, de modo que pueda emitir comandos normales allí. Entonces nunca tendrá que usar sudo cuando instale el nodo o emita comandos npm.
Es mucho mejor así. Se supone que / usr / local es lo que instaló, después de todo.
Sin embargo, otra captura mencionada por Andrei Karpushonak:
Existen ciertas preocupaciones de seguridad y limitaciones de funcionalidad con respecto al cambio de propiedad de / usr / local al usuario actual:
- si hay otro usuario en la máquina que podría usar paquetes npm globales, no cambie la propiedad de / usr / local
- https://apple.stackexchange.com/questions/1393/are-my-permissions-for-usr-local-correct
- https://askubuntu.com/questions/261326/is-it-safe-to-chown-usr-local
Dicho esto, si desea instalar un módulo global sin usar 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.
A mí me pasó lo mismo. En hacer
which grunt
Tengo la ruta / usr / local / bin /. Había un gruñido de carpeta dentro de esto. Pero al ejecutar el comando (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 lo instalé usando el comando
sudo npm install -g grunt-cli
Y mientras trataba de eliminar solo estaba escribiendo gruñido
Así que una vez que corro
sudo npm unistall -g grunt-cli
gruñido fue eliminado.
Aunque ha mencionado en cuestión que ejecuta
sudo npm install grunt
Pero aún así verifique si también está cometiendo el mismo error y ejecútelo con grunt-cli
En algunos casos, puede ser necesario utilizar la función “eliminar 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"
Descubrí que usando el
which grunt
o la
whereis grunt
comandos en la CLI / consola proporciona una salida incompleta y confusa.
Ambos comandos devolverán la ruta del gruñido-cli instalación, pero devuélvala simplemente como gruñido.
También usando,
which grunt-cli
o la
whereis grunt-cli
no devuelve ningún resultado a la consola CLI. Creo que este es un problema / característica del espacio de nombres con npm.
También tuve una situación en la que no pude desinstalar grunt-cli con la función de desinstalación de npm como lo recomendaron otros colaboradores anteriores.
Lo único que funcionó para mí fue usar el npm eliminar función con el nombre completo del programa como se demuestra a continuación.
npm rm -g grunt-cli
Esto debería devolver lo siguiente a su consola.
unbuild [email protected]#.##.#
¡Buena suerte!