nvmを使用して異なるバージョンのnodeとnpmを管理
5267 ワード
前言:
日常の開発では、いくつかのプロジェクトを手にしています.各プロジェクトのニーズが異なり、さらに異なるプロジェクトは異なるバージョンのNodeJSの実行環境に依存しなければなりません.nvmはMacの下のnode管理ツールで、Rubyのrvmに似ています.Windowsの下のnodeを管理する必要がある場合は、nvmwまたはnvm-windowsを公式にお勧めします.しかし、nvm-windowsはnvmの簡単な移植ではありません.
nvmとnの違い
nodeバージョン管理ツールにはTJ大神のnコマンドがあり、nコマンドはnodeのモジュールとして存在し、nvmはnode/npmとは独立した外部shellスクリプトであるため、nコマンドはnvmよりも限られている.
npmがインストールするモジュールパスはいずれも
グローバルインストールのnode/npmをアンインストール
公式サイトでダウンロードしたnodeインストールパッケージは、実行後に自動的にグローバルディレクトリにインストールされ、使用中に権限の問題が発生することが多いので、以下の方法でグローバルインストールのnode/npmをアンインストールすることをお勧めします.
まず、Finderを開き、 を削除する. を削除する. をアンインストールする必要があります.個人のメインフォルダの下にあるすべての を削除します. を削除する.
端末に追加のコマンドを入力する必要があるかもしれません.
1
2
3
4
5
6
7
8
sudo rm/usr/local/bin/npm
sudo rm/usr/local/share/man/man1/node.1
sudo rm/usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm/opt/local/bin/node
sudo rm/opt/local/include/node
sudo rm -rf/opt/local/lib/node_modules
Windowsのインストール
まず最も重要なのは、インストールされているNodeJSを必ずアンインストールしなければなりません.そうしないと、競合が発生します.nvm-windowsをダウンロードします
最新のインストールパッケージは、直接インストールすればいいです.
OSX/Linuxインストール
Windowsとは異なり、既存のNodeJSをアンインストールする必要はありません.もちろん、先にアンインストールしたほうがいいです.また、C++コンパイラも必要です.Linuxのリリース版は一般的に心配しないでください.Ubuntuのように直接使うことができます.
スイート、OS Xなら、
を使用してインポートしたストロークVSラム速度のデータ点を示します.このコマンドを実行します.
1
xcode-select --install
Linuxで:(Debianリリースの場合)
1
sudo apt-get install build-essential
そして私たちは
1
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
または
1
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
マルチバージョンnode/npmのインストール
たとえば、4.2.2バージョンをインストールするには、次のコマンドを使用します.
1
nvm install 4.2.2
nvmは意味化バージョン命名規則を遵守する.たとえば、最新の
1
nvm install 4.2
nvmは
以下のコマンドを使用して、リモート・サーバで使用可能なすべてのバージョンをリストできます.
1
nvm ls-remote
Windowsでは、
1
nvm ls available
異なるバージョンでの切り替え
新しいバージョンノードをインストールするたびに、グローバル環境は自動的にこの新しいバージョンをデフォルトに設定します.
nvmは
たとえば、
1
nvm use 4.2.2
最新の`4.2.に切り替えるx``:
1
nvm use 4.2
iojsに切り替え:
1
nvm use iojs-v3.2.0
最新バージョンに切り替え:
1
nvm use node
切り替えを実行するたびに、nodeの実行可能ファイルリンクが特定のバージョンのファイルに格納されます.
また、nvmを使用して異なるバージョン番号に別名を設定することもできます.
1
nvm alias awesome-version 4.2.2
1
nvm use awesome-version
次のコマンドでは、別名をキャンセルできます.
1
nvm unalias awesome-version
また、
1
nvm alias default node
インストールされたインスタンスのリスト
1
nvm ls
nvm ls
上の緑の矢印は現在使用されているバージョンで、下には設定された別名もリストされています.
プロジェクトで異なるバージョンのノードを使用
プロジェクトディレクトリの
マルチ環境ではnpmはどのように使用すればいいのでしょうか.
各バージョンのNodeには異なるバージョンのnpmが付属しており、
しかし、問題が来ました.私たちがインストールしたnpmパッケージは、もう一度再インストールしますか?幸いなことに、私たちの問題を解決する方法があります.次のコマンドを実行して、特定のバージョンからインストールする新しいバージョンNodeにインポートできます.
1
nvm install v5.0.0 --reinstall-packages-from=4.2
その他のコマンド
特定バージョンのノードを直接実行
1
nvm run 4.2.2 --version
現在の端末のサブプロセスで特定のバージョンのノードを実行
1
nvm exec 4.2.2 node --version
バージョンノードのパスを確認
1
nvm which 4.2.2
ノードをインストールする他のインプリメンテーション、例えばiojs(ES 6ベースのノードインプリメンテーションで、現在ノードと統合されています)
1
nvm install iojs-v3.2.0
ショートカットコマンド: をインストール をインストール をインストール
日常の開発では、いくつかのプロジェクトを手にしています.各プロジェクトのニーズが異なり、さらに異なるプロジェクトは異なるバージョンのNodeJSの実行環境に依存しなければなりません.nvmはMacの下のnode管理ツールで、Rubyのrvmに似ています.Windowsの下のnodeを管理する必要がある場合は、nvmwまたはnvm-windowsを公式にお勧めします.しかし、nvm-windowsはnvmの簡単な移植ではありません.
nvmとnの違い
nodeバージョン管理ツールにはTJ大神のnコマンドがあり、nコマンドはnodeのモジュールとして存在し、nvmはnode/npmとは独立した外部shellスクリプトであるため、nコマンドはnvmよりも限られている.
npmがインストールするモジュールパスはいずれも
/usr/local/lib/node_modules
であるため、nを使用して異なるnodeバージョンを切り替えると、実際にはグローバルなnode/npmディレクトリが共用される.したがって,『異なるnodeバージョンで異なるグローバルnodeモジュールを使用する』というニーズをうまく満たすことはできない.グローバルインストールのnode/npmをアンインストール
公式サイトでダウンロードしたnodeインストールパッケージは、実行後に自動的にグローバルディレクトリにインストールされ、使用中に権限の問題が発生することが多いので、以下の方法でグローバルインストールのnode/npmをアンインストールすることをお勧めします.
まず、Finderを開き、
shift+command+G
を押してフォルダへのウィンドウを開き、次のディレクトリを入力してnode
とnode_modules
に関連するファイルとフォルダを削除します./usr/local/lib
を開く、node
およびnode_modules
に関連するファイルおよびフォルダ/usr/local/include
を開く、node
およびnode_modules
に関連するファイルおよびフォルダbrew install node
でインストールされているNodeJSを使用している場合は、brew uninstall node
コマンドを端末で実行してlocal
、lib
およびinclude
フォルダをチェックし、node
およびnode_modules
に関連するすべてのファイルおよびフォルダ/usr/local/bin
を開く、node
実行可能ファイル端末に追加のコマンドを入力する必要があるかもしれません.
1
2
3
4
5
6
7
8
sudo rm/usr/local/bin/npm
sudo rm/usr/local/share/man/man1/node.1
sudo rm/usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm/opt/local/bin/node
sudo rm/opt/local/include/node
sudo rm -rf/opt/local/lib/node_modules
Windowsのインストール
まず最も重要なのは、インストールされているNodeJSを必ずアンインストールしなければなりません.そうしないと、競合が発生します.nvm-windowsをダウンロードします
最新のインストールパッケージは、直接インストールすればいいです.
OSX/Linuxインストール
Windowsとは異なり、既存のNodeJSをアンインストールする必要はありません.もちろん、先にアンインストールしたほうがいいです.また、C++コンパイラも必要です.Linuxのリリース版は一般的に心配しないでください.Ubuntuのように直接使うことができます.
build-essential
スイート、OS Xなら、
X-Code
を使用してインポートしたストロークVSラム速度のデータ点を示します.このコマンドを実行します.
1
xcode-select --install
Linuxで:(Debianリリースの場合)
1
sudo apt-get install build-essential
そして私たちは
1
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
または
1
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
install.sh
スクリプトをリモートからダウンロードして実行します.このバージョンの年数v0.33.0
は、プロジェクト開発に伴って変化することに注意してください.最新のインストールバージョンをいつでも公式の最新インストールコマンドで確認することはメリットがあります.マルチバージョンnode/npmのインストール
たとえば、4.2.2バージョンをインストールするには、次のコマンドを使用します.
1
nvm install 4.2.2
nvmは意味化バージョン命名規則を遵守する.たとえば、最新の
4.2
シリーズの最新バージョンをインストールしたい場合は、次のように実行できます.1
nvm install 4.2
nvmは
4.2.x
の中で最も高いバージョンを探してインストールします.以下のコマンドを使用して、リモート・サーバで使用可能なすべてのバージョンをリストできます.
1
nvm ls-remote
Windowsでは、
1
nvm ls available
異なるバージョンでの切り替え
新しいバージョンノードをインストールするたびに、グローバル環境は自動的にこの新しいバージョンをデフォルトに設定します.
nvmは
nvm use
コマンドを提供します.このコマンドの使用方法はinstall
コマンドと似ています.たとえば、
4.2.2
に切り替えます.1
nvm use 4.2.2
最新の`4.2.に切り替えるx``:
1
nvm use 4.2
iojsに切り替え:
1
nvm use iojs-v3.2.0
最新バージョンに切り替え:
1
nvm use node
切り替えを実行するたびに、nodeの実行可能ファイルリンクが特定のバージョンのファイルに格納されます.
また、nvmを使用して異なるバージョン番号に別名を設定することもできます.
1
nvm alias awesome-version 4.2.2
4.2.2
というバージョン番号にawesome-version
という名前を付けて、実行できます.1
nvm use awesome-version
次のコマンドでは、別名をキャンセルできます.
1
nvm unalias awesome-version
また、
default
という特殊な別名を設定することもできます.1
nvm alias default node
インストールされたインスタンスのリスト
1
nvm ls
nvm ls
上の緑の矢印は現在使用されているバージョンで、下には設定された別名もリストされています.
プロジェクトで異なるバージョンのノードを使用
プロジェクトディレクトリの
.nvmrc
ファイルを作成して、使用するノードバージョンを指定できます.その後、プロジェクトディレクトリでnvm use
を実行すればよい..nvmrc
ファイルの内容は、上述した意味化バージョン規則を遵守するだけでよい.またavnというツールもあり、このプロセスを自動化することができます.マルチ環境ではnpmはどのように使用すればいいのでしょうか.
各バージョンのNodeには異なるバージョンのnpmが付属しており、
npm -v
でnpmのバージョンを表示できます.グローバルにインストールされたnpmパッケージは、互換性の問題を引き起こすため、異なるノード環境で共有されません.これらは、~/.nvm/versions/node//lib/node_modules
のような異なるバージョンのディレクトリの下に置かれています.これはちょうどLinuxでsudo
を使う手間を省くことができます.これはユーザーのメインフォルダなので、権限の問題は発生しません.しかし、問題が来ました.私たちがインストールしたnpmパッケージは、もう一度再インストールしますか?幸いなことに、私たちの問題を解決する方法があります.次のコマンドを実行して、特定のバージョンからインストールする新しいバージョンNodeにインポートできます.
1
nvm install v5.0.0 --reinstall-packages-from=4.2
その他のコマンド
特定バージョンのノードを直接実行
1
nvm run 4.2.2 --version
現在の端末のサブプロセスで特定のバージョンのノードを実行
1
nvm exec 4.2.2 node --version
バージョンノードのパスを確認
1
nvm which 4.2.2
ノードをインストールする他のインプリメンテーション、例えばiojs(ES 6ベースのノードインプリメンテーションで、現在ノードと統合されています)
1
nvm install iojs-v3.2.0
ショートカットコマンド:
nvm install node
最新版Node nvm install iojs
最新版iojs nvm install unstable
最新不安定バージョンのNode