2015-09-18 7 views
28

私は知っているnpmはパッケージマネージャーであり、nvmはノードバージョンマネージャです。私は現在、Bashを使用して自分の開発環境と本番環境を自動インストールしようとしています。 npmをインストールした後、nvmがインストールされていないことがわかりました。NPMとNVMの相違

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

+3

nvmはnpmをインストールするノードをインストールします。ノードのバージョンを切り替える必要がない/したくない場合は、おそらくnvmは必要ありません。 –

答えて

9

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

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

+0

どのバージョンにnvmが付属していますか? – JohnTheBeloved

+0

@JohnTheBeloved:なしnvmはOSのバージョンをデフォルトで指しています。 –

+1

@FelixKlingが正しいです。 "nvm ls"を実行すると、nvmで使用されているバージョンと "node -v"が表示され、現在アクティブなノードが表示されます。 – masimplo

35

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

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

npm(ノードパッケージマネージャ)を使用すると、JavaScriptのパッケージをインストールするためのツールです。 npm --versionでインストールされているかどうか確認してください。

npmにはNode.jsが付属しているので、ノードがインストールされている場合(node --version)、おそらくnpmがインストールされている可能性があります。

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

+0

これは、npmのバージョンを変更したくないので、 'npm install watchman'の代わりに' nvm install watchman'を使うことができることを意味します。 – AVI

+0

@JokerFanそれはまったく真実ではありません。 'nvm install watchman'を実行することはできません。 'node'のバージョンを' nvm'で変更すると 'npm'のバージョンも変わります。 – ThomasReggi

+1

複数のバージョンのNode.jsをシステム上に持つことは理にかなっていますか? –

関連する問題