Cómo actualizar npm


124

Estoy intentando instalar mean.io boilerplate. Falla cuando se ejecuta sudo npm install -g meanio@latest. Antes de fallar, observa que 'quiere' la versión 1.4.x de npm, mientras que tengo instalado 1.2.18. Así que intenté actualizar npm a la última versión; De varias maneras. El último de los cuales fue ...

ubuntu@ip-xxx-xx-xx-xxx:~$ sudo npm install -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.7 /usr/local/lib/node_modules/npm

ubuntu@ip-xxx-xx-xx-xxx:~$ npm --version
1.2.18

¿Por qué sigue mostrando la versión 1.2.18, cuando acabo de actualizar a 1.4.7?


12
Hacersudo npm update npm -g
Tim

1
Si puede arriesgarse al uso de un PPA no compatible, pruebe launchpad.net/~chris-lea/+archive/node.js
TeTeT

sudo npm install npm -g me ayudó
thinklinux


Esto debería estar en Ask Ubuntu
Ulysse BN

Respuestas:


189

Esto actualizará npm usando npm en sí:

sudo npm install npm -g

Si estás atascado, inténtalo sudo npm update npm -g. Todo el crédito va a Tim Castelijns. Lo he probado en ubuntu 14.04, npm 1.3.10


Tenga en cuenta que si está utilizando nvm para administrar varias versiones en su entorno de desarrollo local, por ejemplo, para fines de prueba , todas sus versiones instaladas (enumeradas por nvm ls) están en ~ / .nvm, por lo tanto, omite la instalación en todo el sistema (es decir, omita sudo):

npm install npm -g

EMPRESA DEBIAN

Para la práctica empresarial completa considere nodeource.com :

curl -sL https://deb.nodesource.com/setup | sudo bash -

como se describe aquí .

OTRA EMPRESA

Para distribuciones que no sean de Debian, consulte el nodo github wiki https://github.com/joyent/node/wiki/installing-node.js-via-package-manager página de descarga https://nodejs.org/en/download / /

Para la comprensión histórica: Chis Lea estaba manteniendo su PPA pero ahora unió fuerzas con nodeource .


Recomiendo usar un repositorio PPA para que permita que el administrador de paquetes ubuntu mantenga las actualizaciones junto con todo lo demás.
henry74

En una especie de servidores de producción, sí, tal vez. Pero en el desarrollo, realmente desea garantizar que obtenga cosas directamente del mantenedor del paquete npm, no del mantenedor de PPA
Yauhen Yakimovich

Estoy en desacuerdo. No desea que el desarrollo sea diferente de la producción o se encontrará con problemas de implementación para diferentes versiones.
henry74

1
Una vez más, dependiendo de lo paranoico que seas, confiar en el PPA de Chis Lea podría ser cuestionable. Siempre hay una decisión posible sobre la cantidad de dependencias críticas en el proyecto que se descarga como una copia local. Si no está trabajando en el banco pero está haciendo un proyecto de código abierto, es posible que ni siquiera tenga que preocuparse por una producción :) Voy a vincular el wiki del nodo aquí solo enumerando todas las alternativas. Personalmente, no soy un gran aficionado a las etiquetas PPA frente a github cuando se trata de distribución de código.
Yauhen Yakimovich

No es necesario usar el PPA de Chris. Use el oficial de la fuente del nodo.
henry74

43

Si la respuesta del usuario3223763 no funciona, puede intentar esto:

sudo apt-get remove nodejs ^node-* nodejs-*
sudo apt-get autoremove
sudo apt-get clean
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

Luego :

curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh

Después de esto, abra una nueva terminal y verifique la versión npm:

npm --version

EDITAR / ACTUALIZAR:

Hoy la última versión de nvm es:

https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh

Por lo tanto, el comando CURL es: v0.25.4 en lugar de v0.13.1

curl https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | sh

Puedes comprobar https://github.com/creationix/nvm/releases para usar la versión correcta para futuras actualizaciones


3
user3223763 no funcionó para mí, tampoco lo hizo auto actualizar npm. Gracias Daniel
hectorg87

3
Puedo confirmar que este método ayudó a actualizar npm. Los métodos anteriores tenían dependencias insatisfechas de las bibliotecas o actualizarían npm pero no actualizarían la ruta / entorno para usar la nueva ubicación.
will824

Esto también funcionó para mí, las otras respuestas no lo hicieron en Ubuntu 14.0.4
islanddave

1
Esto funcionó para mí usando Ubuntu 14.04 instalado en un Chromebook con Crouton. Nada más que encontré en línea funcionó
Niall

17

no olvide cerrar e iniciar la ventana de terminal nuevamente;)

(al menos si quieres marcar "npm --version" en la terminal)

sudo npm install npm -g

eso también me funcionó


13

Parece que está usando Ubuntu (desde la línea de comando que muestra). Para actualizar npmy nodejspuede usar el repositorio PPA:

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

1
E: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. para Ubuntu 18.04
anon58192932

Err: 11 ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release 404 Not Found [IP: 91.189.95.83 80]
Kiran Reddy

1
para deshacerse de la molesta ejecución de error: rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list
Abdelghani AINOUSS

9

Intenté las opciones anteriores en Ubuntu 14.04, pero constantemente producirían este error:

npm ERR! tar tar Error al leer /root/tmp/npm-15864/1465947804069-0.4854120113886893/package

Luego encontré esta solución en línea:

1) Limpie el caché de npm primero:

sudo npm cache clean -f

2) Instalar n módulo de npm:

sudo npm install -g n

3) Comience la instalación seleccionando la versión del nodo a instalar: estable o más reciente , usaremos estable aquí:

sudo n stable

4) Verifique la versión del nodo:

node -v

5) Verifique la versión de npm:

npm -v

Esta respuesta podría usar un poco de expansión para explicar lo que están haciendo los comandos menos obvios.
Madbreaks

6

Para obtener la última versión estable, simplemente ejecute

npm install npm@latest -g

¡Funcionó bien para mí!



2

actualización a nodejs v0.12.7

 # Note the new setup script name for Node.js v0.12
 curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

 # Then install with:
 sudo apt-get install -y nodejs

Fuente de nodeource.com



1
npm i -g npm

      Update available 4.5.0 → 4.6.1    │
   │     Run npm i -g npm to update 

esto es lo que recomienda npm cuando en la terminal, la segunda pieza se copia y pega directamente desde mi terminal

nota: estoy usando una mac


La pregunta es específicamente sobre ubuntu, no sobre osx. Si probé su comando en ubuntu, npmfallará con Error: Cannot find module 'process-nextick-args'. Deberías eliminar tu respuesta.
Anthony Kong el

1

Para comprobar la versión nodo -v nodo y su NPM versión NPM -v Entonces Para actualizar el NPM , escriba esto en su terminal: sudo NPM instalar NPM @ última -g

NB: SO basado en Debian {ubuntu o Linux mint}


1

NPM estaba devolviendo la versión anterior después de ejecutar $ sudo npm install npm -g .

Reiniciar el terminal (es decir, cerrar y abrir de nuevo) solucionó el problema para mí y $ npm --version comenzó a devolver la versión esperada.

* @Rimian menciona la necesidad de volver a cargar el terminal en un comentario de otra respuesta.


0

En caso de que desee actualizar npm a una versión específica, puede usar esto:

npm install npm@version-number


0

Verifique su versión de nodo node -vy su versión de npm npm -v Luego, para actualizar su npm, escriba esto en su terminal: npm install npm@latest -g

Espero poder ayudar. Saludos


0

Esto es lo que funcionó para mí en ubuntu curl -L https://www.npmjs.com/install.sh | sh



0

Puede usar el npmadministrador de paquetes:

npm install npm@latest

Esto se instala npmusando a sí mismo @ última versión.


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.