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がインストールするモジュールパスはいずれも/usr/local/lib/node_modulesであるため、nを使用して異なるnodeバージョンを切り替えると、実際にはグローバルなnode/npmディレクトリが共用される.したがって,『異なるnodeバージョンで異なるグローバルnodeモジュールを使用する』というニーズをうまく満たすことはできない.
グローバルインストールのnode/npmをアンインストール
公式サイトでダウンロードしたnodeインストールパッケージは、実行後に自動的にグローバルディレクトリにインストールされ、使用中に権限の問題が発生することが多いので、以下の方法でグローバルインストールのnode/npmをアンインストールすることをお勧めします.
まず、Finderを開き、shift+command+Gを押してフォルダへのウィンドウを開き、次のディレクトリを入力してnodenode_modulesに関連するファイルとフォルダを削除します.
  • /usr/local/libを開く、nodeおよびnode_modulesに関連するファイルおよびフォルダ
  • を削除する.
  • /usr/local/includeを開く、nodeおよびnode_modulesに関連するファイルおよびフォルダ
  • を削除する.
  • brew install nodeでインストールされているNodeJSを使用している場合は、brew uninstall nodeコマンドを端末で実行して
  • をアンインストールする必要があります.
  • 個人のメインフォルダの下にあるすべてのlocallibおよび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
  • をインストール