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설치된 노드를 포함하여 설치된 모든 패키지를 업데이트하는 대신 제거를 사용하여 분배 합니까?
Syed

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
최신 안정 버전으로 업데이트하려면 (대부분의 사용자에게 권장) 다음을 실행해야합니다 nvm install lts/* --reinstall-packages-from=node.. 그런 다음으로 버전을 정리할 수 있습니다 nvm uninstall [old version]. 로 설치된 모든 버전을 나열 할 수 있습니다 nvm ls.
m4js7er

두 번하기 전에 생각하는 --reinstall-packages-from=node당신은 버전 6, 8, 10에 대해 서로 다른 글로벌 환경을 사용할 수 있습니다
contributorpw

1
명령을 묶었 nvm install lts/* --reinstall-packages-from=node지만 Version 'lts/*' not found - try 'nvm ls-remote' to browse available versions.NVM 버전 0.30.1을 사용하고 있다는 오류가 발생했습니다 . 내 NVM이 너무 오래되었을 수 있습니다. 나는 수동으로 교체 결국 lts/*함께 10.15.2/*작업에 얻을.
Zhang

16

두 가지 간단한 솔루션 :

최신 버전의 노드를 설치하고 이전 버전 패키지를 다시 설치하려면 다음 명령을 실행하십시오.

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 April

10

4.2가 있고 5.0.0을 설치하려는 경우

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

gabrielperales의 대답은 그가 "="부호를 놓친 것을 제외하고는 옳습니다. "="부호를 넣지 않으면 새 노드 버전이 설치되지만 패키지는 설치되지 않습니다.

출처 : sitepoint


2

Node.JS는 새 버전을 설치합니다.

1 단계 : NVM 설치

npm i -g nvm

2 단계 : NODE 최신 버전 설치

nvm install *.*.*(NodeVersion)

3 단계 : 선택된 노드 버전

nvm use *.*.*(NodeVersion)


0

현재 활성 버전을 업데이트하기위한 배시 별명 :

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.