npm --version es diferente si usa sudo npm --version

npm --version es diferente si usa sudo npm --version

Acabo de actualizar nodejs en mi máquina. Desinstalé la versión de nodo (la de los repositorios de ubuntu) que tenía. Luego instalé nvm e instalé nodejs 4.2.2.

Todo va sin errores, pero cuando ejecuté npm --versionmostró 2.14.7, luego decidí ejecutar: sudo npm install -g npmpara actualizar la versión npm, pero cuando lo verifiqué, todavía mostraba 2.14.7. Entonces, verifiqué una vez más, pero usando sudo npm --versionesta vez, y estaba la última versión 3.3.10.

¿Por qué sucede esto y cómo puedo solucionarlo?

Aquí hay una captura de pantalla:
Se muestra una versión diferente de npm con o sin sudo

Estoy usando Ubuntu 14.04.

Editar:

agregando qué salidas de comando

sistemas@ITAACO01:~$ which npm
/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
sistemas@ITAACO01:~$ sudo which npm
/usr/local/bin/npm

Respuesta1

Parece (de los whichresultados) que su usuario ( sistemas) está configurado para usar una versión diferente y desactualizada de npmubicada en /home/sistemas/.nvm/versions/node/v4.2.2/bin/npm, ignorando la versión actualizada para todo el sistema en /usr/local/bin/npm.

Comprueba si /usr/local/binestá en tu $PATH. (Haga echo $PATHy vea si su salida contiene /usr/local/bin.

Si no, agrégalo (pon PATH="$PATH:/usr/local/bin"tu ~/.bash_profile)

Respuesta2

Hay 2 posibilidades:

  1. La ruta de la nueva versión no está presente:

    Añade la ruta. Por ejemplo: Agregar /usr/local/bin/npma la ruta

  2. La versión anterior es anterior en $PATH:

    Elimine la ruta de la versión anterior. Por ejemplo: Quitar /home/sistemas/.nvm/versions/node/v4.2.2/bin/npmde$PATH

información relacionada