Node.jsを古いバージョンに変更する方法


428

v0.5.9-preUbuntu 10.10でNode.jsバージョンを実行しています。

versionを使用したいのv0.5.0-preですが。

古いバージョンのノードにロールバックするにはどうすればよいですか?


私は、これは古い問題であると認識、しかし、誰が使用している場合は自作を、この質問をチェックアウト:stackoverflow.com/questions/3987683/...
— blong

古いバージョンでパッケージをテストするだけの場合はnode、ローカル実行可能ファイルとしてインストールできるパッケージについて言及する価値があります。たとえば、v12.1:npm i --no-save node@12.1です。のように現在のフォルダで実行できます./node_modules/node/bin/node .。欠点は、それをグローバルにインストールできない/すべきでないことです。
— geekley

回答:


479

1つの方法は、ノードバージョンマネージャであるNVMを使用することです。

次のコマンドを使用してnvmを取得します

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

あなたはでそれを見つけることができますhttps://github.com/creationix/nvm

ノードの複数のバージョンを簡単にインストールおよび管理できます。ヘルプからの抜粋です:

Usage:
nvm install <version>       Download and install a <version>
nvm use <version>           Modify PATH to use <version>
nvm ls                      List versions (installed versions are blue)

2
サーバーが再起動すると、nvmの設定が解除され、特定のバージョンの使用を再開するように指示する必要があります。でも、設定した後nvm alias default v0.5.0だろうが、あなたはそれが再起動後に設定を維持するために取得する方法を知っているために起こりますか?
— JD Isaacks、2011年

3
これは私がしたことです-ドキュメントから:「nvmをアクティブにするには、bashシェルからソースする必要があります。〜/ .nvm / nvm.sh私は常にこの行を〜/ .bashrcまたは〜/ .profileファイルに追加しますログイン時に自動的にソースを取得するようにします。特定のバージョンのノードを使用するように頻繁に入力することもあります。」
— David EGP

2
これは私にはうまくいきませんでした。常に同じバージョンになるように継ぎ合わせます。github.com/tj/nは私にとってはよりシンプルでシンプルに動作しました。
— ペドロ・ルス

1
また.nvmrc、使用したいバージョンの説明を含むファイルをディレクトリに置くこともできます。そして、nvm use何も気にしないでください
— Sergei Panfilov

1
私はnvmをたくさん試しましたが、あまり直感的ではないことがわかりました。以下の* NIXを試したところ、エラーなしですぐにインストールしてバージョンを切り替えることができました。
— David Rhoderick 2016

514

* NIX(Linux、OS Xなど)

npmを介してインストールできる非常にシンプルなノードバージョンマネージャであるnを使用します。

Node.js v0.10.xでAtomをビルドするとします。

npm install -g n   # Install n globally
n 0.10.33          # Install and use v0.10.33
Usage:
n                            # Output versions installed
n latest                     # Install or activate the latest node release
n stable                     # Install or activate the latest stable node release
n <version>                  # Install node <version>
n use <version> [args ...]   # Execute node <version> with [args ...]
n bin <version>              # Output bin path for <version>
n rm <version ...>           # Remove the given version(s)
n --latest                   # Output the latest node version available
n --stable                   # Output the latest stable node version available
n ls                         # Output the versions of node available

 

ウィンドウズ

nvm-windowsを使用します。これはnvmに似ていますが、Windows用です。インストーラーをダウンロードして実行し、次の手順を実行します。

nvm install v0.10.33         # Install v0.10.33
nvm use v0.10.33             # Use v0.10.33
Usage:
nvm install [version]        # Download and install [version]
nvm uninstall [version]      # Uninstall [version]
nvm use [version]            # Switch to use [version]
nvm list                     # List installed versions

7
はい、Windowsでは運がありません。npmを使用してnvmwをインストールしました。> npm install -g nvmw
— Hugo Silva

4
nvmwはメンテナンスされなくなりました
— Joe Lloyd

4
n use vesionノードのバージョンをグローバルに変更することはできません。一度だけ変更されました。
— Dai Kaixian 2016

3
この回答を編集してWindowsの部分を削除する必要があります。nvmwはサポートされなくなりました。Windows 10でこれを使用しようとすると、「エラー:システムは指定されたレジストリキーまたは値を見つけることができませんでした。」
— ohsully 2018

1
Ubuntuではそのままでは機能しませんでした。n 9.6.09.6.0がインストールされていると主張していますが、node -vそれでも9.6.1 が表示されます。
— Dan Dascalescu、2018

72

拡張なしでこれを行うことができるのに、なぜ拡張を使用するのですか?

ノードの特定のバージョンをインストールする

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

特定のバージョン:のsudo n 4.4.4代わりにsudo n stable


12
どうやらnWindowsではサポートされていません。
— jfriend00

ubuntuでは、次のエラーがキャストされます:--forceを使用したnpm WARN
— Harlan Chen、

1
@HarlanChenエラーではありません。警告です。無視してかまいません。
— Pankaj

2
n拡張機能ではありませんか?実行npm install -g nすると、拡張機能をインストールします...
— Aljosha Novakovic

plsはそのsudo部分を無視します。これを行うべきではありません
— kreig303

55

ウィンドウズ:

ノードをダウングレードします。

npm install node@<version>
 ex: npm install node@8.10.0

npmをダウングレードします。

npm install -g npm@<version>
 ex: npm install -g npm@3.10.10

注意ノードが実行されているすべてのウィンドウを閉じます。ブラウザ、エディタなど。

最初にノードをインストールする必要があります。また、すでにインストールしている場合は、上記のコマンドを実行するだけで、nodeとnpmのバージョンをダウングレードできます。それでもうまくいかず、ノードの更新に成功しなかった場合。これを試して。ノードをグローバルにインストールしてみてください。例:

npm install -g node@8.10.0

ここで考慮すべきもう1つのことは、npmの最新バージョンを探している場合は、npmを更新してみることです。走る

npm install npm@latest -g

マック

注:Macでは、これらの同じコマンドが機能します。これが解決することを願っています。


19
イライラして、これは私のノードのバージョンを変更しません。
— Amos Long

3
私はこのアプローチを試みましたが、うまくいきませんでした。機能したのは、「プログラムの追加と削除」スナップピンからノードパッケージをアンインストールすることでした。次に、ノードのWebサイトから目的のバージョンをダウンロードします。
— アルベルトS.

私は、Mac上でだと私の場合、私は追加する必要はありませんでしたsudoので、ちょうど入力して、npm install -g node@8.12.0働いていた罰金を
— ジョルジオテンペスタ

1
どうもありがとう!このアプローチは、node @ 10.17.0をプロジェクトにインストールするのに役立ち、Realm @ 3.4.0のインストールに成功させます。その前に、私は多くの異なるアプローチを再試行しましたが、私のReact-NativeプロジェクトのWindowsに最新のレルムをインストールすることにまだ失敗しました。
— garykwwong

12

ウィンドウズ

Chocolatelyを使用したノードのダウングレード

Chocolateyをインストールします。次に実行します:

choco install nodejs.install -version 6.3.0

Chocolateyには、多数のNodeバージョンが用意されています。

NPMのダウングレード

npm install -g npm@3.10.3

Linuxの場合は?:)

@ noob-fellaおそらくapt-get経由で利用できます。私はそれを試していません。
— Shaun Luttin

Chocolatelyを使用して、異なるNode.jsバージョンをオンザフライで切り替えることができますか?
— ベニー

12

私が見つけた最も簡単な方法は、nodejs.orgサイトを使用することです:

  1. https://nodejs.org/en/download/releases/に移動します
  2. 必要なバージョンを見つけ、ダウンロードをクリックします
  3. Macでは.pkgをクリックします実行可能ファイルをクリックし、インストール手順に従います(Windows用の正しい実行可能ファイルが何かません)
  4. 必要なバージョンのノードを使用していることを確認してください

1
はるかに簡単なオプションです!
— ワシントン氏、

2
Windowsの場合:msiはノードバージョンをダウングレードしません。それは単なる出口です。
— Bernard

10

nvmwはもうメンテナンスされていませんが、最新のように見える別のソースが見つかりました(1/17/17現在)。

nvm-windows

できます。6.3.1にダウングレードできました


9

Ubuntu-公式の方法(手動)

ノード12でノード10にダウングレードする場合は、ノードを削除して、目的のバージョンの指示に従ってください。

# Remove the version that is currently installed
sudo apt remove -y nodejs

# Setup sources for the version you want
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

# (Re-)Install Node
sudo apt-get install -y nodejs

Windows-公式の方法(手動)

私はWindowsでLTSに最先端からダウングレードしたいと思っていました。Chocolateyのようなパッケージマネージャーやnvmやnのようなノードバージョンマネージャーを使用していない場合は、必要な.msiバージョンのをダウンロードしてインストールしてください。Windowsの「プログラムの追加と削除」ツールを使用して、現在インストールされているバージョンを削除することができます。

Chocolatey-パッケージマネージャーの方法

インストールを簡単に最新の状態に保つためにChocolateyを強くお勧めします。これは、Node.jsをWindowsにインストールする一般的な方法です。LTSバージョンをインストールする前に、最先端のバージョンを削除する必要がありました。

choco uninstall nodejs

choco install nodejs-lts

ありpackage.json-保守可能でポータブルな方法

各プロジェクトに独自のバージョンを指定させます

にnode依存関係として追加package.jsonし、特定のプロジェクトに使用するバージョンを制御できます。package.json「スクリプト」を実行するnpmと、(およびyarn)は、グローバルにインストールされたNode.jsではなく、そのバージョンを使用してスクリプトを実行します。

nodeパッケージには、ダウンロードすることにより、これを達成しnode、ローカルシステム用のバイナリをしてにそれを置くnode_modules/.binディレクトリ。


ノードバージョンマネージャー-「ねじ込み、自分でやります!」仕方

移植性が低く、保守も容易ではありませんが、特定の時点でアクティブにするノードのグローバルバージョンを手動で切り替えるのを好む開発者もいます。そこには、お使いのシステムにしたい方のバージョンを選択(と自動的にインストールする)ために役立つCLIインタフェースを提供する2つの人気のNPMパッケージは、次のとおりnvmとn。どちらを使用するかは、この回答の範囲を超えています。




4

ノードのバージョンは6.4.0でした。

古いバージョン6.3.0が必要なので、システムに6.3.0バージョンを再度インストールしました。ノードのバージョンは自動的にダウングレードされました。

したがって、ノードバージョンをダウングレードするには、古いバージョンのノードjsをインストールするだけです。上位バージョンから自動的にダウングレードされます。

私はosxで試しました。それは魅力のように働きます。


1

何らかの理由で、Brewはノード5をnode5という別のディレクトリにインストールします。

バージョン5に戻すために私が取った手順は次のとおりです(標準のインストール/アンインストールを調べる必要がありますが、それ以外の場合、このプロセスは見た目よりも簡単です)。

  1. Brew標準インストールを使用してnode5をインストールしますが、まだリンクをbrewしません。
  2. brew unlink nodeとbrew uninstall nodeを使用して、他のすべてのバージョンのノードをアンインストールします。バージョンの1つを削除するには、-forceを使用する必要がある場合があります。
  3. コンピューター上のセラーフォルダーを見つける
  4. セラーのノードフォルダーを削除します。
  5. node5フォルダーの名前をnodeに変更します。
  6. 次に、リンクノードを作成します

ノード5がすべて設定されているはずです。


1

これを実行してください:

rm -rf node_modules && npm cache clear && npm install

ノードはキャッシュされたものからインストールします。したがって、最初にすべてをクリアすると、NPMは0.10.xxを使用し、正常に戻ります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.