npm --version отличается, если использовать sudo npm --version

npm --version отличается, если использовать sudo npm --version

Я только что обновил nodejs на своей машине. Я удалил версию node (ту, что в репозиториях ubuntu), которая у меня была. Затем я установил nvm и установил nodejs 4.2.2.

Все прошло без ошибок, но когда я запустил, npm --versionон показал 2.14.7, тогда я решил запустить: sudo npm install -g npmчтобы обновить версию npm, но когда я проверил, он все еще показывал 2.14.7. Поэтому я проверил еще раз, но на sudo npm --versionэтот раз, и там была последняя версия 3.3.10.

Почему это происходит и как это исправить?

Вот скриншот:
Разные версии npm показаны с sudo и без него

Я использую Ubuntu 14.04.

Редактировать:

добавление того, какие команды выводят

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

решение1

Судя по whichвыходным данным, ваш пользователь ( sistemas) настроен на использование другой, устаревшей версии, npmрасположенной по адресу /home/sistemas/.nvm/versions/node/v4.2.2/bin/npm, игнорируя обновленную общесистемную версию по адресу /usr/local/bin/npm.

Проверьте, /usr/local/binесть ли в вашем $PATH. (Выполните echo $PATHи посмотрите, содержит ли его вывод /usr/local/bin.

Если нет, добавьте его (вставьте PATH="$PATH:/usr/local/bin"свой ~/.bash_profile)

решение2

Есть 2 возможности:

  1. Путь к новой версии отсутствует:

    Добавить путь. Например: Добавить /usr/local/bin/npmк пути

  2. Более старая версия находится раньше в $PATH:

    Удалить путь к старой версии. Например: Удалить /home/sistemas/.nvm/versions/node/v4.2.2/bin/npmиз$PATH

Связанный контент