¿Cómo puedo cambiar la versión de npm usando nvm?
He estado usando NVM para instalar las últimas versiones de Node.js para mi trabajo con Node.js. Funciona totalmente bien para instalar versiones separadas y cambiar entre ellas. También instala la última versión de NPM dentro de cada carpeta local .../bin junto con el binario Node.js. Sin embargo, no parece haber una manera de cambiar la versión de NPM que estoy usando (o al menos no puedo entenderlo).
La única solución que se me ocurre es eliminar el binario predeterminado (que es el NPM que se instaló cuando instalé el nodo con NVM por primera vez) y, en su lugar, colocar el binario NPM más reciente. Sin embargo, ¿existe una mejor manera de hacer esto?
Como se señaló en otra respuesta , ahora hay un comando para esto:
nvm ahora tiene un comando para actualizar npm. Es
nvm install-latest-npm
onvm install --latest-npm
.
nvm install-latest-npm
: Intente actualizar a la última versión que funcione npm
en la versión actual de Node.js.
nvm install --latest-npm
: Después de la instalación, intente actualizar al último npm que funcione en la versión de Node.js proporcionada.
A continuación se muestran revisiones anteriores de la respuesta correcta a esta pregunta.
Para versiones posteriores de npm ahora es mucho más sencillo. Simplemente actualice la versión que instaló nvm, que se encuentra en ~/.nvm/versions/node/[your-version]/lib/node_modules/npm
.
Instalé Node.js 4.2.2, que viene con npm 2.14.7, pero quiero usar npm 3. Así lo hice:
cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm
¡Fácil!
Y sí, esto debería funcionar para cualquier módulo, no solo npm, que desee que sea "global" para una versión específica de nodo.
En una versión más nueva, npm -g
es inteligente e instala módulos en la ruta anterior en lugar de en la ruta global del sistema.
Usar
npm install [email protected] -g
npm install [email protected] -g
nvm no maneja npm.
Entonces, si desea instalar Node.js 0.4.x (del que aún dependen muchos paquetes) y usar NPM, aún puede usar npm 1.0.x.
Instale Node.js 0.6.x (que viene con npm 1.1.x) e instale nvm con npm:
npm install nvm
. ~/nvm/nvm.sh
Instale Node.js 0.4.x con nvm:
nvm install v0.4.12
nvm use v0.4.12
Instale npm usando install.sh (tenga en cuenta el -L
parámetro para seguir cualquier redireccionamiento):
curl -L https://npmjs.org/install.sh | sh
Esto detectará Node.js 0.4.12 e instalará npm 1.0.106 en su carpeta ~/nvm/v0.4.12/lib/node_modules y creará un enlace simbólico para nvm:
~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js
Si intenta ejecutar npm, seguirá dando un error, pero si lo nvm use v0.4.12
vuelve a hacer, ahora debería funcionar.
nvm ahora tiene un comando para actualizar npm. Es nvm install-latest-npm
o npm install --latest-npm
.
Estoy en Windows y no pude hacer funcionar nada de esto. Seguí recibiendo errores sobre archivos que estaban en el camino. Sin embargo, esto funcionó:
cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest
cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
rm npm-old
rm npm-old.cmd
cd node_modules\
rm -rf npm-old
Y boom, estoy de vuelta en el negocio.
En Windows, ejecuta tu terminal como administrador del sistema (en caso de que haya problemas de permisos como tuve yo). Luego use una versión específica de Node.js (digamos 7.8.0) por
nvm use 7.8.0
Luego actualice su npm a la versión específica deseada mediante:
npm install -g [email protected]