2012-07-28 11 views
52

すでにWindows上でNode.js v0.8.0を実行しています。最新のインストーラを実行してv0.8.4にアップグレードすることはできますか?私はマシン上の既存のサードパーティのモジュールを壊すのではないかと恐れています。Windowsでnode.jsをアップグレードするにはどうすればよいですか?

+3

chocolateyを使用する:[Windowsでのnode.jsのアップグレードまたはインストール](http://stackoverflow.com/a/25598244/138938「windowsでのnode.jsのアップグレード」) –

答えて

39

はい、最新バージョンをインストールするだけです。同じメジャーバージョン(バージョン0.8.xなど)を使用している場合は、一般に互換性の問題はありません。変更が心配な場合は、各バージョンの変更履歴をいつでも確認できます(changelogへのリンクはnodejs.orgのnode.jsダウンロードページにあります)。それは大きな変化(APIの変更など)があることを示すはずです。

2

私はWindows上でノードでの経験を持っていないが、私はちょうど私のMac上でノード&モジュールをアップグレードしているので、これは単に一般的な答えです:

あなたはv0.8をインストールする場合、あなたはあなたのを壊すかもしれません既存のノードモジュール、非推奨の関数などを使用している場合などです。問題は、npmは実行時ではなく、モジュールのインストール中にノードのバージョンのみをチェックすることです。

安全な場所に置くには、マシン上のグローバルnode_modulesフォルダを探し、どこかにバックアップしてからモジュールを削除してから再インストールする必要があります。使用しているアプリケーションのnode_modulesフォルダについても同じことをする必要があります。 (package.jsonファイルがあると仮定して、これらを再インストールするのは簡単なはずです)。

実際には、使用していたモジュールのいずれも実際には互換性がないとは思われません。がんばろう。

+0

は 'npm update'または' npmインストールされたモジュールが新しいバージョンと互換性のある新リリースを持っていたと仮定して、トリックを実行しますか? – Kato

1

0.8.0に存在し、0.8.4で修正された実際のバグに依存するモジュールを使用していない限り、問題ありません。これらの2つのバージョンの間にAPIの変更はありませんでした(ノードのチームはマイナーリリースでこのような変更を導入するにはあまりにもスマートです)。

37

私はちょうどその過程を経て、別のメジャーバージョンにアップグレードしても痛みはありません。

システムにインストールされているものを上書きする.msiパッケージを使用して、0.8から0.10に移動しました。パッケージの問題はすべてnpm update -gで修正されました。魅力のように働いた。

場合、それは魔法のように動作しません:

npm cache cleanは通常、問題を修正します。キャッシュが空になったら、もう一度npm update -gを実行してください。

あなたは本当にトラブルに実行する場合:

は、あなたがグローバルにインストールされているモジュールを削除し、その後、それらを再インストールします。ここで方法は次のとおりです。

  • は、あなたが持っているものの株式を取る: npm list -g --depth=0リストすべてのトップレベルのパッケージ、バージョン番号と。 npm list -g --parseable --depth=0 > npm-global-modules.txtはあなたのcwd内のファイルにそれらを書き込みます。

    自分でインストールしなかった不思議なものは、おそらく別のモジュール(まれにしかインストールされていませんが、それは起こったことがあります)によってインストールされています。これらのモジュールをリストから削除します。モジュール「npm」も削除してください。

  • \n?[^\n]+[\\/](正規表現)を1つのスペースに置き換えて、コマンドラインの出力をフォーマットします。

    (私は編集者に、したがって往復、これはパイプでfindstrで動作するように取得していないあなたはまた、手動でそれを行うことができ、もちろん;)

  • は、すべてのモジュールを削除します。 Windowsでは、%appdata%\npmディレクトリを削除(または名前変更)します。他のOSについては、Command to remove all npm modules globally?

  • npm install -g [your module list here]でモジュールを再インストールしてください。あなたがそれを行う前にnpm cache cleanを忘れないでください。

+0

また、 'npm'コマンドで何も与えられなくなるまで、' node'を使っていくつかの場所を探すことを検討してください。その後、.exeまたは.msiを使用して再インストールします。 –

0

現在、4.4。*にアップグレードしています。私はnodejs.orgのウェブサイトからインストーラを使用していましたが、すべてをアップグレードしても問題ありません。

0

nodejs site &にダウンロードしてください。どんなに迷うことなく直接インストールできます。以前のバージョンに依存している場合は、変更ログを確認してください。

0

Windowsにノードをインストールする最も良い方法は、nvm-windowsを使用することです。必要に応じて、バージョンをすばやく切り替えることができます。これは、linuxとmaxにノードをインストールする最良の方法、つまりnvmと似ています。

しかし、Benjenは正しく(どのように彼が彼のスカウトの経験を持つことができなかったかもしれない)、ノードの別のバージョンをインストールするだけで、あなたのバージョンは更新されます。あなたのnpmの依存関係を再インストールする必要があり、npmで管理されていない拡張モジュールを再コンパイルする必要があるかもしれませんが、ノードのバージョンをどのように変更してもtrueです。

関連する問題