Windows-nvm や volta を使用した後、新しい Node バージョン管理ツールを見つけました。しばらく試してみた結果、これは私が使った中で最も優れた Node バージョン管理ツールだと感じました。
まず、いくつかの「使いやすい」Node バージョン管理ツールを放棄した理由について説明します。
Volta の問題#
-
グローバルで見えないもの
antfu の taze や @antfu/ni を使用してプロジェクトの依存関係を素早くアップグレードする場合、グローバルに pnpm パッケージがある場合(
npm list -g --depth 0
で確認できる)、これらの依存関係を素早くアップグレードするために一連のエンターキーを押すことができます。しかし、volta では pnpm だけでなく、yarn も見えません。そのため、taze は「pnpm、yarn がインストールされていないかもしれません。グローバルにインストールしますか?」というメッセージを表示し、私の一連のエンターキーの操作を中断します。これが頻繁に発生すると、この中断による不快感が無限に拡大されます。 -
pnpm との互換性が不十分
現在一般的に使用されている 3 つのパッケージマネージャー、npm、yarn、pnpm の中で、pnpm の体験は最も良いですが、volta は pnpm のサポートを「実験的な」サポートにとどめています。これは少し不満です。
-
一部の npm ライブラリチェックツールとの互換性が悪い
例えば、プロジェクトの依存関係のバージョン状況をチェックするためのnpm-check-updatesや、パッケージマネージャーコマンドを自動的に呼び出すためのniなど、これらの便利なツールは、volta に対していくつかのエラーレポートを提出しており、現在も解決されていません(エラーレポート、関連する issue)。
-
更新速度が遅い
GitHub では常にコミットが行われていることが確認できますが、最後のリリースは 2023 年 1 月でした。これも私が代替品を探すきっかけとなりました。
-
アンインストール機能がない
volta を使用して 18.18.0 を 18.19.0 にアップグレードすると、新しいバージョンがインストールされます。バージョンの更新については好みがあるかもしれませんが、コンピュータには多くの類似したバージョンが残ります(もちろん、手動でディレクトリを削除することもできますが、それは原始的な方法ではありませんか)。
nvm の問題#
- nvm には Windows バージョンがありません。Windows では
nvm-windows
と呼ばれます。
nvm-windows の問題#
- プロジェクトに基づいて自動的に Node バージョンを切り替えることをサポートしていません。つまり、プロジェクトを切り替えるたびにコマンドを手動で使用して Node バージョンを切り替える必要があります。作者はこのプロジェクトでサポートを提供しないと述べています。作者の言葉はこのリンクで確認できます。
- 作者はこのプロジェクトに自動切り替えを追加しないと述べていますが、この問題を改善するために新しいプロジェクトを開始したと述べています。ただし、このプロジェクトはまだ完成していません。詳細はリンクを参照してください:https://github.com/coreybutler/nvm-windows/wiki/Runtime
pnpm による Node バージョン管理の問題#
-
pnpm も Node バージョンを管理することができますが、スクリプトを使用して pnpm をインストールする必要があります。
iwr https://get.pnpm.io/install.ps1 -useb | iex
,その後、
pnpm env use --global 18
のように Node を管理しますが、数時間使用した後に放棄しました。現在も多くのバグがあり、日常的に使用することができません。
この記事の主役 - nvm desktop#
nvm desktopは、複数の Node バージョンを管理するためのデスクトップアプリケーションで、以下の利点があります。
- プロジェクトに基づいて自動的に Node バージョンを切り替えます。一度設定すれば、後は干渉する必要がありません。バックグラウンドで実行する必要もありません。
- Electron ベースで、マルチプラットフォームで高い一貫性を持っています。
- nvmd-commandに基づいており、Rust で書かれています。
- 目に見える操作が容易です。
- nvm のコマンドライン操作を保持しており、コマンドを
nvm xxx
からnvmd xxx
に変更しています。 - 問題が少ないです。
上記の利点に基づいて、チームでの協力作業では、nvm desktop は非常に優れた Node バージョン管理の解決策です。
ソフトウェアのスクリーンショット#
使用可能なすべての Node バージョンをリストアップし、Aliyun のソースをサポートしています。
インストール済みの Node バージョンを管理します。
プロジェクトに Node バージョンを指定します。指定しない場合はグローバルの Node バージョンが使用されます。
クライアントのダウンロードリンク#
https://github.com/1111mp/nvm-desktop/releases/latest
このソフトウェアには特に注意する必要はありませんが、いくつかの神秘的な問題があるため、Node、nvm、Volta などのソフトウェアを完全にアンインストールし、コンピュータを再起動してから nvm-desktop をインストールすることをお勧めします。
他の管理ツールから切り替える場合#
デバイスの環境変数を確認することをお勧めします。一部のツールはアンインストールしても個人のデバイスに環境変数が残る場合があり、予期しないエラーが発生する可能性があります。クリーンアップを行うことをお勧めします(例えば、Volta をインストールした後に npm-check-updates をインストールすると、この行のコードによってグローバルチェックが禁止されると通知されることがあります)。