web-dev-qa-db-ja.com

Sudo npm --versionを使用する場合、npm --versionは異なります

マシンでnodejsをアップグレードしました。持っていたノードバージョン(ubuntuリポジトリのバージョン)をアンインストールしました。次に、nvmをインストールし、nodejs 4.2.2をインストールしました。

すべてがエラーなしで実行されますが、npm --versionを実行したときに2.14.7が表示されたので、npmバージョンをアップグレードするためにSudo npm install -g npmを実行することにしました。 7。そのため、今回はSudo npm --versionを使用してもう一度確認しましたが、最新の3.3.10バージョンがありました。

なぜこれが起こり、どうすれば修正できますか?

これがスクリーンショットです:
Different npm version is showed with or without 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
4
HTOch

which出力から)ユーザー(sistemas)は、/home/sistemas/.nvm/versions/node/v4.2.2/bin/npmにあるnpmの別の古いバージョンを使用するように設定されているようです-更新されたシステムを無視します/usr/local/bin/npmのワイドバージョン。

/usr/local/bin$PATHにあるかどうかを確認します。 (echo $PATHを実行し、その出力に/usr/local/binが含まれているかどうかを確認します。

そうでない場合は、追加します(PATH="$PATH:/usr/local/bin"~/.bash_profileを入れてください)

1

2つの可能性があります:

  1. 新しいバージョンパスは存在しません。

    パスを追加します。例:/usr/local/bin/npmをパスに追加します

  2. 古いバージョンは$PATHの前にあります:

    古いバージョンのパスを削除します。例:/home/sistemas/.nvm/versions/node/v4.2.2/bin/npmから$PATHを削除します

0
heeraj123