ノードのバージョン管理についてまだ心配していますか? ぜひnvmを使ってみてください!

nvm とは何か、nvm を使用する理由

NVM (Node Version Manager) は、Node.js のバージョンを管理するためのツールです。これにより、同じコンピューター上で複数の Node.js バージョンをインストールしたり、切り替えたりすることができます。NVM を使用すると、さまざまなバージョンの Node.js をテストしたり、さまざまなプロジェクトでさまざまな Node.js バージョンを使用したりできます。

NVM の主な価値は、開発者が複数の Node.js バージョンを簡単に管理し、切り替えることができることです。コンポーネント パッケージの問題により、プロジェクトごとに異なる Node.js バージョンを使用する必要がある場合があるため、これは開発者にとって非常に重要であり、開発効率と柔軟性が大幅に向上します。

インストール

nvm をインストールする前に、システムはノードがインストールされていないことを確認する必要があることに注意してください (最初にアンインストールします)。そうしないと、互換性の問題が発生する可能性があります。新しいコンピューターにインストールしました。この場合は試していませんが、インターネットでは不可能だと言われていますが、予見できる問題については、興味のある友人が試してみてください。

ウィンドウズ

ダウンロードリンク

以下の nvm-setup.exe を選択し、クリックしてダウンロードします

画像.png

ダウンロードが完了したら、nvm-setup.exe ファイルを実行します。

[同意します] (同意します) を選択し、完了したら (完了)、途中で [次へ] をクリックします。

コマンド ライン ツール (cmd または Git Bash など) を実行します。nvm -v を実行すると、インストールが成功したことを示す次の情報が表示されます。

$ nvm -v
1.1.11
 

マック

Mac には 2 つのインストール モードがあります。1. brew ダウンロード、2。私は最初のモードだけを試しました。

醸造インストールnvm

$ brew install nvm
Warning: You are using macOS 13.
We do not provide support for this pre-release version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
pre-release version.

==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/nvm-0.38.0.all.bottle.tar.gz
curl: (22) The requested URL returned error: 404

Warning: Bottle missing, falling back to the default domain...
==> Downloading https://ghcr.io/v2/homebrew/core/nvm/manifests/0.38.0
Already downloaded: /Users/wanghao/Library/Caches/Homebrew/downloads/d4719fbfd26ca664d78c29b5c8c92ffd0e72cb3a984a968cd3073691e1e3559a--nvm-0.38.0.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/nvm/blobs/sha256:f3cd481b024f9e46a56450d6aaf43c83875e8e7796db6838a6441195b039a368
Already downloaded: /Users/wanghao/Library/Caches/Homebrew/downloads/37a2f0c239860a29bf8ed3deb2ae0c213357e3f96b3b2e68cc67cb2915d6ce67--nvm--0.38.0.all.bottle.tar.gz
==> Pouring nvm--0.38.0.all.bottle.tar.gz
==> Caveats
Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.

You should create NVM's working directory if it doesn't exist:

  mkdir ~/.nvm

Add the following to ~/.zshrc or your desired shell
configuration file:

  export NVM_DIR="$HOME/.nvm"
  [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.

Type `nvm help` for further information.
==> Summary
  /usr/local/Cellar/nvm/0.38.0: 7 files, 176KB

~/.bash_profile ファイルの末尾に以下を追加します

    export NVM_DIR="$HOME/.nvm"
    [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
    [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

それから実行します

使用

ノードのダウンロード可能なバージョンのリストを表示する

コマンド nvm list available を実行して、ダウンロード可能なノード バージョンのリストを表示します。


         $nvm list available

        |   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
        |--------------|--------------|--------------|--------------|
        |    20.3.0    |   18.16.0    |   0.12.18    |   0.11.16    |
        |    20.2.0    |   18.15.0    |   0.12.17    |   0.11.15    |
        |    20.1.0    |   18.14.2    |   0.12.16    |   0.11.14    |
        |    20.0.0    |   18.14.1    |   0.12.15    |   0.11.13    |
        |    19.9.0    |   18.14.0    |   0.12.14    |   0.11.12    |
        |    19.8.1    |   18.13.0    |   0.12.13    |   0.11.11    |
        |    19.8.0    |   18.12.1    |   0.12.12    |   0.11.10    |
        |    19.7.0    |   18.12.0    |   0.12.11    |    0.11.9    |
        |    19.6.1    |   16.20.0    |   0.12.10    |    0.11.8    |
        |    19.6.0    |   16.19.1    |    0.12.9    |    0.11.7    |
        |    19.5.0    |   16.19.0    |    0.12.8    |    0.11.6    |
        |    19.4.0    |   16.18.1    |    0.12.7    |    0.11.5    |
        |    19.3.0    |   16.18.0    |    0.12.6    |    0.11.4    |
        |    19.2.0    |   16.17.1    |    0.12.5    |    0.11.3    |
        |    19.1.0    |   16.17.0    |    0.12.4    |    0.11.2    |
        |    19.0.1    |   16.16.0    |    0.12.3    |    0.11.1    |
        |    19.0.0    |   16.15.1    |    0.12.2    |    0.11.0    |
        |   18.11.0    |   16.15.0    |    0.12.1    |    0.9.12    |
        |   18.10.0    |   16.14.2    |    0.12.0    |    0.9.11    |
        |    18.9.1    |   16.14.1    |   0.10.48    |    0.9.10    |
        ...

実行バージョンノードをダウンロードする

LTS で使用される列はノードのバージョンです

コマンド nvm install 18.16.0 を実行して、バージョン番号を使用してノードをインストールします。

$ nvm install 18.16.0
Downloading node.js version 18.16.0 (64-bit)...
Extracting node and npm...
Complete
npm v9.5.1 installed successfully.


Installation complete. If you want to use this version, type

現在使用しているノードのバージョンを指定します

nvm は 18.16.0 を使用します

nvm use 18.16.0
Now using node v18.16.0 (64-bit)

ダウンロードしたノードのバージョンと現在使用しているバージョンを表示します

nvm list nvm use 18.16.0 現在、ノード v18.16.0 (64 ビット) を使用しています

$ nvm list

  * 18.16.0 (Currently using 64-bit executable)
    16.20.0

最後にノードのバージョンが切り替わったかどうかを確認します

$ node -v
v18.16.0

よくある問題

1 公式サイトアドレスのリンクが開けない

でも壁際には

解決

1> 自分のはしごを持参してください

2> Thunder を使用して次のリンクをダウンロードしてみてください

nvm-setup.exe

2 切り替えコマンドを実行した後、node -v で以前のバージョンが表示されるのはなぜですか

通常、これは権限の問題です。切り替えコマンドを実行する前に、コマンド ライン ツール (cmd、Git Bash) をスーパー管理者権限で開く必要があります。

画像.png

3 ノードのバージョンを切り替えると一部のコマンドが使用できなくなるのはなぜですか

異なるノードのバージョンは独立して分離されるため、同時に使用できるのは 1 つのバージョンのみであり、インストールされる対応するグローバル依存関係パッケージは現在のバージョンにのみ制限されます。たとえば、一部のスキャフォールディング コマンド ライン ツールは、対応するノードのバージョンにのみ制限されます。 . 、バージョン番号が切り替わると、依存関係を再ダウンロードする必要があります。

おすすめ

転載: juejin.im/post/7243263236623384634