nvmを使用してノードを適切にアップグレードする方法


231

node最新の安定版を手動でインストールする代わりに、適切な場所でアップグレードすることはできますか?

node.jsバージョン5.0をインストールしましたが、次にnvmに更新したいと思い5.4ます。すべてのグローバルパッケージを手動で再インストールする必要がないようにしています(例:npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla ... を実行して)。

回答:


328

これはうまくいくかもしれません:

nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION

例えば:

nvm install 6.7 --reinstall-packages-from=6.4

次に、必要に応じて、次のコマンドで以前のバージョンを削除できます。

nvm uninstall OLD_VERSION

ここで、あなたの場合、NEW_VERSION = 5.4 OLD_VERSION = 5.0

または、次を試してください。

nvm install stable

1
nvm install stableそれらを更新するのではなく、インストールされたノードを含むインストールされたすべてのパッケージを削除して使用しますか?
2016

1
実際には、これはもう機能していません。npmに問題があります:github.com/creationix/nvm/issues/811
jhuesos

5
nvm ls-remoteあなたはすべてのリリースを見ることができます。
Daniel

7
これは私にとってはうまくいきます:nvm install node --reinstall-packages-from=$(nvm current)。これにより、Node.jsが最新バージョンに更新され、以前のバージョンのnpmグローバルパッケージが再インストールされます。
Cyfrost

アンインストールに失敗した場合は、を使用nvm deactivateして再試行してください。
izilotti

185

より簡単に次のコマンドのいずれかを実行できます。

最新バージョン
nvm install node --reinstall-packages-from=node
安定(LTS)バージョン
nvm install lts/* --reinstall-packages-from=node

これにより適切なバージョンがインストールされ、現在使用されているノードバージョンからすべてのパッケージが再インストールされます。これにより、特定のバージョンを手動で処理する必要がなくなります。

編集-@ m4js7erコメントに従ってLTSバージョンをインストールするコマンドを追加しました。


20
最新の安定バージョン(lts-ほとんどのユーザーに推奨)に更新する場合は、次を実行する必要がありますnvm install lts/* --reinstall-packages-from=node。その後、でバージョンをクリーンアップできますnvm uninstall [old version]。インストールされてnvm lsいるすべてのバージョンをで一覧表示できます。
m4js7er 2017年

ダブル行う前に考える--reinstall-packages-from=nodeあなたはバージョン6、8、10のために別の地球環境を使用することができます
contributorpw

1
コマンドを結びましたnvm install lts/* --reinstall-packages-from=nodeVersion 'lts/*' not found - try 'nvm ls-remote' to browse available versions.、NVMバージョン0.30.1を使用しているというエラーが表示されました。NVMが古すぎる可能性があります。私は手動で交換してしまうlts/*10.15.2/*仕事にそれを得るために。
Zhang

16

TWOシンプルなソリューション:

ノードの最新バージョンをインストールして古いバージョンのパッケージを再インストールするには、次のコマンドを実行します。

nvm install node --reinstall-packages-from=node

ltsノードの最新(長期サポート)バージョンをインストールし、古いバージョンのパッケージを再インストールするには、次のコマンドを実行します。

nvm install --lts /* --reinstall-packages-from=node

この回答をサポートするGIFを以下に示します。 nvm


これを機能させることができません-私は受け取りますIf --reinstall-packages-from is provided, it must point to an installed version of node.
wickywills

@wickywills「ノード:ノードの最新バージョンをインストールします」LTSまたは特定のバージョンがインストールされていて、node最新バージョンがインストールされていない可能性があります。または、nvmを更新する必要があります。
iBaff

10

4.2があり、5.0.0をインストールする場合

nvm install v5.0.0 --reinstall-packages-from=4.2

gabrielperalesの答えは正しいです。ただし、末尾の「=」記号を見逃しました。「=」記号を付けない場合、新しいノードバージョンがインストールされますが、パッケージはインストールされません。

ソース:サイトポイント


2

Node.JSを使用して新しいバージョンをインストールします。

ステップ1:NVMインストール

npm i -g nvm

ステップ2:NODE最新バージョンのインストール

nvm install *.*.*(NodeVersion)

ステップ3:選択したノードバージョン

nvm use *.*.*(NodeVersion)

仕上げ


0

現在のアクティブバージョンを更新するためのBashエイリアス:

alias nodeupdate='nvm install $(nvm current | sed -rn "s/v([[:digit:]]+).*/\1/p") --reinstall-packages-from=$(nvm current)'

パーツは、ノードのメジャーバージョンのみが返さsed -rn "s/v([[:digit:]]+).*/\1/p"れるnvm currentように、出力を変換します。つまり、v13.5.0-> 13です。

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