このフォームに記入してご意見を提供し、進捗状況の最新情報を受け取るためにサインアップしてください。
更新情報は、著者ソフトウェア LinkedIn ページにも掲載されます。
Microsoft/npm/Google は、 Windows用の Node.js バージョン マネージャーを推奨しています。
オリジナルの nvm は、Mac/Linux 専用の完全に別個のプロジェクトです。このプロジェクトはまったく異なる哲学を使用しており、単なる nvm のクローンではありません。詳細については、「別のバージョン マネージャーを使用する理由」に記載されています。大きな違いは何ですか?
スポンサーできないの? @coreybutler を Github のスターに指名することを検討してください。 |
問題が発生しましたか?一般的な問題の Wiki を参照してください。
フィードバックを求めています:私たちは、NVM For Windows の後継である Runtime (rt) に取り組んでいます。このフォームに少し時間をかけてご記入ください。ありがとう! |
Windows コンピューター上での node.js の複数のインストールを管理します。
tl;dr nvm に似ています (同一ではありません) が、Windows 用です。インストーラーあり。今すぐダウンロードしてください!
これは常に io.js マネージャーではなくノード バージョン マネージャーであったため、io.js のバックサポートはありません。ノード 4 以降がサポートされています。 nvm install
またはnvm use
を実行する場合、通常、Windows には (シンボリックリンクを作成するための) 管理者権限が必要であることに注意してください。最新バージョンの Node.js をインストールするには、 nvm install latest
実行します。最新の安定バージョンをインストールするには、 nvm install lts
実行します。
Node.js の異なるバージョンを切り替える機能が非常に役立つ状況があります。たとえば、安定バージョンのノードをアンインストールせずに、最新の最先端バージョンで開発中のモジュールをテストしたい場合、このユーティリティが役に立ちます。
NVM for Windows を適切に実行する最も簡単な (推奨される) 方法は、NVM for Windows をインストールする前に、以前のノードのインストールをアンインストールすることです。これにより、以下に挙げるすべての落とし穴が回避されます。しかし; Node インストールを高度にカスタマイズしている場合は、そのインストールを無効にしたくない場合があります。 Windows 用 NVM は既存のインストールの管理を引き受けることができますが、これには微妙な違いがあります (インストールを実行しているユーザーの権限に完全に依存します)。管理者アカウントをお持ちの場合は、元の Node バージョンをアンインストールする前に Windows 用 NVM をインストールするのが比較的安全です。インストール/アンインストールがグループ ポリシーによって制御される企業の Active Directory 環境など、閉じた環境で作業している場合は、NVM4W をインストールする前に元のバージョンの Node を削除することを検討する必要があります。
権限の問題セキュリティ上の理由から、Windows では、あるベンダーのアプリケーションが別のベンダーのアプリケーションを「アンインストール」することはできません。公式 NVM4W インストーラーは、Node. の既存のインストールの管理を引き受けようとしますが、実際に元の Node.js バージョンをアンインストールすることはできません。この問題を回避するために、NVM for Windows インストーラーは、元の Node.js インストール ファイルを NVM ルートにコピーしようとします。これには、グローバル npm モジュールと構成が含まれます。このプロセスが完了すると、元の Node.js インストールをデータを失うことなくアンインストールできます。
PATH インストールの問題既存のディレクトリ ( C:Program Filesnodejs
など) を使用するようにNVM_SYMLINK
を構成しようとすると、シンボリックリンクは物理ディレクトリを上書きできないため、失敗します。別のシンボリックリンク パス ( C:nvmnode
など) を選択した場合、これは問題になりません。
PATH の競合元のバージョンをアンインストールしない場合、 nvm use
実行しても何も行われないように見える場合があります。 node -v
を実行すると、常に元のインストール バージョンが表示されます。これは、同じアプリケーションを複数回インストールするときに発生するPATH
競合が原因です。 NVM4W 1.1.11 以降では、 nvm debug
を実行して、 PATH
競合があるかどうかを確認します。
簡単にするために、NVM for Windows を使用する前に、既存のバージョンの Node.js をアンインストールすることをお勧めします。残っている可能性のある既存の Node.js インストール ディレクトリ (例: %ProgramFiles%nodejs
) を削除します。 NVM が生成したシンボリックリンクは、既存の (空であっても) インストール ディレクトリを上書きしません。
?グローバルなnpmrc
構成をバックアップしますか? (例: %AppData%npmetcnpmrc
)
あるいは、設定をユーザー構成%UserProfile%.npmrc
にコピーします。グローバル モジュールの競合を防ぐために、既存の npm インストール場所 (例: %AppData%npm
) を削除します。
最新のインストーラーを使用してください(アンインストーラーが付属しています)。あるいは、手動のインストール ガイドに従ってください。
NVM4W がインストール直後に動作しないように見える場合は、(コンピューター全体ではなく) ターミナル/PowerShell を再起動します。
インストール後、インストールされているノードのバージョンごとにグローバル ユーティリティ (yarn など) を再インストールする必要があります。
nvm use 14.0.0 npm install -g yarn nvm use 12.0.1 npm install -g yarn
v1.1.8 では、アップグレード プロセスを自動化するアップグレード ユーティリティが提供されています。
nvm-windows をアップグレードするには、新しいインストーラーを実行します。 Node.js のインストールに影響を与えることなく、更新する必要があるファイルを安全に上書きします。同じインストールフォルダーとシンボリックリンクフォルダーを使用していることを確認してください。最初にデフォルトの場所にインストールした場合は、終了するまで各ウィンドウで「次へ」をクリックするだけです。
nvm-windows は管理シェルで実行されます。 nvm-windows を使用するには、 powershell
またはコマンド プロンプトを管理者として起動する必要があります
Windows 用 NVM はコマンド ライン ツールです。コンソールでnvm
と入力するとヘルプが表示されます。基本的なコマンドは次のとおりです。
nvm arch [32|64]
: ノードが 32 ビット モードで実行されているか、64 ビット モードで実行されているかを表示します。デフォルトのアーキテクチャをオーバーライドするには、32 または 64 を指定します。
nvm debug
: NVM4W プロセスの既知の問題を確認します。
nvm current
: アクティブなバージョンを表示します。
nvm install
: バージョンは特定のバージョン、最新の現行バージョンの場合は「latest」、最新の LTS バージョンの場合は「lts」です。必要に応じて、32 ビット バージョンと 64 ビット バージョンのどちらをインストールするかを指定します (デフォルトはシステム アーチ)。 32 ビット バージョンと 64 ビット バージョンをインストールするには、[arch] を「all」に設定します。リモート ダウンロード サーバーの SSL 検証をバイパスするには、このコマンドの最後に--insecure
を追加します。
nvm list [available]
:node.js インストールをリストします。最後にavailable
と入力すると、ダウンロード可能なバージョンのリストが表示されます。
nvm on
:node.js のバージョン管理を有効にします。
nvm off
:node.js のバージョン管理を無効にします (何もアンインストールしません)。
nvm proxy [url]
: ダウンロードに使用するプロキシを設定します。現在のプロキシを表示するには、 [url]
空白のままにします。プロキシを削除するには、 [url]
を「なし」に設定します。
nvm uninstall
: 特定のバージョンをアンインストールします。
nvm use
: 指定されたバージョンを使用するように切り替えます。必要に応じて、 latest
、 lts
、またはnewest
を使用します。 newest
インストールされている最新のバージョンです。必要に応じて、32/64 ビット アーキテクチャを指定します。 nvm use
選択したバージョンを引き続き使用しますが、32/64 ビット モードに切り替えます。特定のディレクトリでのuse
使用 (または.nvmrc
の使用) については、問題 #16 を参照してください。
nvm root
: nvm がさまざまなバージョンの Node.js を保存するディレクトリを設定します。
が設定されていない場合は、現在のルートが表示されます。
nvm version
: Windows 用 NVM の現在実行中のバージョンを表示します。
nvm node_mirror
: ノードミラーを設定します。中国の人々はhttps://npmmirror.com/mirrors/node/ を使用できます。
nvm npm_mirror
: npm ミラーを設定します。中国の人々はhttps://npmmirror.com/mirrors/npm/ を使用できます。
インストールしたグローバル npm モジュールは、インストールしたさまざまなバージョンの Node.js 間で共有されないことに注意してください。さらに、一部の npm モジュールは使用しているノードのバージョンではサポートされていない可能性があるため、作業するときは環境に注意してください。
ユーザーは、ウイルス対策、特に McAfee を使用する際にいくつかの問題を報告しています。ウイルス対策ソフトウェアが VBScript エンジンへのアクセスを操作しているようです。詳細と解決策については、問題 #133 を参照してください。
v1.1.8 はコード署名されていませんが、他のすべてのバージョンは Ecor Ventures LLC/Author.io によって署名されています。これは、ほとんどのウイルス対策ソフトウェアでの誤検知を防ぐのに役立ちます。
v1.1.8+ は証明書の有効期限が切れたため、コード署名されていませんでした (理由についてはリリース ノートを参照してください)。 v1.1.9 は、新しい証明書のスポンサーである ajyong のおかげでコード署名されています。
tldr; npm i -g yarn
詳細については wiki を参照してください。
http://golang.org からインストールします
ソースをダウンロード / Git リポジトリのクローンを作成する
64 ビットの実行可能ファイルをビルドしたい場合は、build.bat で GOARCH を amd64 に変更します。
Windows コマンド プロンプトを起動し、ディレクトリをプロジェクト ディレクトリに変更します。
go get github.com/blang/semver
を実行します。
go get github.com/olekukonko/tablewriter
実行します。
build.bat
を実行する
生成されたセットアップ プログラムのdist
ディレクトリを確認します。
Node.js にはいくつかのバージョン マネージャーがあります。 nvm や n などのツールは Mac OSX と Linux でのみ実行されます。 Windows ユーザーは寒さの中に取り残されていますか?いいえ、nvmw と nodist はどちらも Windows 用に設計されています。では、なぜ Windows 用のバージョン マネージャーが必要なのでしょうか?
Windows 用のほとんどのノード バージョン マネージャーのアーキテクチャは.bat
ファイルに依存しており、このファイルは環境変数を設定または模倣するための巧妙なトリックを実行します。それらの中には (ダウンロード後に) ノード自体を使用するものもあります。これは素晴らしいことですが、問題が発生しがちです。ノード 0.10.30 のあたりで、インストール構造が少し変更され、その結果、これらの一部が新しいもので動作しなくなりました。
さらに、ノードのインストール構造についてもう少し知識が必要なため、これらのモジュールをインストールするのに苦労するユーザーもいます。バージョン間の切り替えが簡単になれば、人々は時間をかけて以前のバージョンと将来のバージョンでコードをテストするかもしれないと私は信じています...これはまさに良い習慣です。
何よりもまず、このバージョンの nvm はノードに依存しません。これは Go で書かれており、制限された.bat
ファイルをハッキングするよりもはるかに構造化されたアプローチです。既存のノードのインストールには依存しません。 Go は、同じコード ベースで Mac/Linux バージョンを作成する機能を提供します。実際、これはすでに進行中です。
制御機構も大きく異なります。ホット スイッチング機能を使用して複数ノードのインストールをサポートするには、一般的に 2 つの方法があります。 1 つ目は、バージョンを切り替えるたびにシステムPATH
変更するか、 .bat
ファイルを使用してノードの実行可能ファイルを模倣し、それに応じてリダイレクトすることでシステム PATH をバイパスすることです。これは私にとっていつも少しハック的だと感じていましたが、この実装の結果としていくつかの癖があります。
2 番目のオプションは、シンボリックリンクを使用することです。この概念では、シンボリックリンクをシステムPATH
に配置し、そのターゲットを使用するノードのインストール ディレクトリに更新する必要があります。これは単純なアプローチであり、Windows 上でシンボリックリンクがどれほど面倒であるかを理解するまでは、これが推奨されているようです。これまでこのようなことが起こらなかったのはこのためです。
シンボリックリンクを作成/変更するには、管理者として実行する必要があり、Windows UAC (煩わしいプロンプト) を回避する必要があります。幸いなことに、これはノード ウィンドウのヘルパー スクリプトを使用してすでに解決した課題です。その結果、NVM for Windows は、インストール時にのみシステムPATH
に置かれる単一のシンボリックリンクを維持します。異なるバージョンのノードに切り替えるには、シンボリックリンクのターゲットを切り替える必要があります。その結果、このユーティリティでは、コンソール ウィンドウを開くたびにnvm use xxx
実行する必要がありません。 nvm use xxx
実行すると、開いているすべてのコンソール ウィンドウでノードのアクティブなバージョンが自動的に更新されます。また、システムを再起動しても保持されるため、変更を加える場合にのみ nvm を使用する必要があります。
NVM for Windows には、Fenix Web Server での私の仕事の副産物としてインストーラーが付属しています。
全体として、このプロジェクトにはいくつかのアイデア、他のモジュールのいくつかの百戦錬磨の部分、およびノードの新しいバージョンのサポートがまとめられています。
NVM for Windows は、Node プロジェクトによって提供されるリストを使用して「最新」バージョンを認識します。バージョン 1.1.1 以降ではこのリストを使用します。このリストが存在する前は、リリースをスクレイピングしてスタンドアロンのデータ フィードとして提供していました。このリストはバージョン 1.1.0 以前で使用されていましたが、現在は非推奨です。
単純明快、私にはそれが必要でした。さらに、複数のバージョンのサポートがノード コアに提供されないことは明らかです。それは囲碁をやる口実でもあった。
私が Go を選んだ理由は、Go はクロスプラットフォームであり、Java よりもオーバーヘッドが少なく、ほとんどの人が考えているよりも古くから存在していると感じたからです。さらに、それを実験してみたかったのです。なぜNodeで書かなかったのかと聞かれました。インストールしようとしているツールを使用してツールを作成しようとすることは、私にとっては意味がありません。結果として、これに対する私のプロジェクト要件は単純でした...Node ではないもの。 Nodeは進化し、変化し続けます。それを思い出させる必要がある場合は、io.js、Ayo、4.xx と 6.xx の間のすべての重大な変更、および 12 以降の ES モジュールへの移行を思い出してください。ソフトウェアの世界では変化は避けられません。 JavaScript は非常に動的です。
Github 内外で問題を提出し、提案をし、このプロジェクトをより良いものにするのに協力してくれた皆さんに感謝します。特に感謝します
@vkbansal は、初期リリースを通じて重要な初期フィードバックを提供してくれました。
Node v4 サポートを統合するための @rainabba と @sullivanpt。
@shadow はパス名における長年のスペース エスケープの問題 (#355) を解決しました。
2021 年後半にコード署名証明書のスポンサーとなった ajyong 氏。