Diferencia entre NPM y NVM


82

Sé que npm es el administrador de paquetes y nvm es el administrador de versiones del nodo. Actualmente estoy tratando de instalar automáticamente mi entorno de desarrollo y producción usando Bash y olvidé cómo comencé y en qué orden. Después de instalar npm, encontré que nuestro nvm no estaba instalado.

¿Todavía necesito instalar nvm? Si es así, ¿cuál es el beneficio?


5
nvm instala Node que instala npm. Si no necesita / desea cambiar entre las versiones de Node, probablemente no necesite nvm.
— Felix Kling

Respuestas:


96

nvm(Node Version Manager) es una herramienta que le permite descargar e instalar Node.js. Comprueba si lo tienes instalado a través de nvm --version.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

npm(Node Package Manager) es una herramienta que le permite instalar paquetes javascript. Comprueba si lo tienes instalado a través de npm --version.

npmviene con Node.js, por lo que si tiene un nodo instalado ( node --version), lo más probable es que también lo haya npminstalado.

No es necesario a nvmmenos que desee mantener varias versiones de Node.js instaladas en su sistema o si desea actualizar su versión actual.


1
lo que significa que puedo usar en nvm install watchmanlugar de npm install watchmanporque no quiero cambiar las versiones de npm
— AVI

@JokerFan Eso no es exactamente cierto. No puedes correr nvm install watchman. Cuando cambia su versión de nodecon nvmla versión de npmcambios también.
— ThomasReggi

2
¿Tiene sentido tener varias versiones de Node.js en el sistema?
— Ajay S

2
@AjayS Puede trabajar en dos proyectos separados que tengan requisitos de versión de nodo muy específicos, muy comunes para los contratistas.
— Juan Mendes

23

nvm como dijiste es un administrador de versiones de nodejs "activo". Puede tener varias versiones de nodo en la misma máquina y cambiar haciendo "nvm use version". npm respeta nvm si está presente en la máquina, lo que significa que si tiene 0.12.7 activo y hace npm install -g uuid, lo instalará globalmente bajo 0.12.7 pero si cambia a 4.0.0, uuid ya no estará disponible a nivel mundial.

En cualquier caso, no es necesario que nvm instale paquetes.


¿Qué versión viene con nvm por defecto?
— JohnTheBeloved

@JohnTheBeloved: Ninguno. nvm apunta a la versión de su sistema operativo por defecto.
— Felix Kling

1
@FelixKling tiene razón. Puede hacer "nvm ls" para ver las versiones utilizadas por nvm y también "node -v" para ver el nodo actualmente activo.
— masimplo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.