web-dev-qa-db-ja.com

NPMとNVMの違い

npmがパッケージマネージャーであり、nvmがノードバージョンマネージャーであることは知っています。現在、Bashを使用して開発環境と実稼働環境を自動インストールしようとしていますが、開始方法と順序を忘れていました。 npmをインストールした後、nvmがインストールされていないことがわかりました。

それでもnvmをインストールする必要がありますか?もしそうなら、その利点は何ですか?

56
JohnTheBeloved

nvm (Node Version Manager)は、Node.jsをダウンロードしてインストールできるツールです。 nvm --versionでインストールされているかどうかを確認してください。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

npm (Node Package Manager)は、javascriptパッケージをインストールできるツールです。 npm --versionでインストールされているかどうかを確認してください。

npmにはNode.jsが付属しているため、ノードがインストールされている場合(node --version)、npmもインストールされている可能性が高くなります。

Node.jsの複数のバージョンをシステムにインストールしたままにする場合、または現在のバージョンをアップグレードする場合を除き、nvmは必要ありません。

68
ThomasReggi

あなたが言ったようにnvmは「アクティブな」nodejsバージョンマネージャです。 「nvm use version」を実行することにより、同じマシン上に複数のバージョンのノードを持ち、切り替えることができます。 npmは、マシンに存在する場合はnvmを尊重します。つまり、0.12.7がアクティブで、npm install -g uuidを実行すると、0.12.7の下でグローバルにインストールされますが、4.0.0に切り替えると、uuidはなくなります。グローバルに利用可能。

いずれにしても、パッケージをインストールするのに必ずしもnvmが必要なわけではありません。

19
masimplo