nvm을 사용하여 npm 버전을 어떻게 변경합니까?


240

NVM을 사용하여 노드 작업에 최신 버전의 nodeJS를 설치했습니다. 별도의 버전을 설치하고 전환 할 때 완전히 작동합니다. 또한 노드 이진과 함께 각 로컬 ... / bin 폴더 내에 최신 버전의 NPM을 설치합니다. 그러나 사용중인 NPM 버전을 전환하는 방법이없는 것 같습니다 (적어도 이해할 수는 없습니다).

내가 생각할 수있는 유일한 해결책은 기본 설정 인 바이너리 (NVM과 함께 노드를 처음 설치할 때 설치된 NPM)를 삭제하고 최신 NPM 바이너리를 배치하는 것입니다. 그러나이 작업을 수행하는 더 좋은 방법이 있는지 궁금합니다.


1
NPM 버전을 변경하려는 이유는 이전 버전의 NPM에서만 작동하는 패키지를 설치하는 것과는 다릅니다. 그리고 노드 0.6 이후에는 노드에 최신 NPM이 제공됩니다. 따라서 노드 버전을 변경하면 npm 버전도 변경됩니다.
Farid Nouri Neshat

1
NVM을 통하지 않는 것을 제외하고. 예-노드는 NPM과 함께 제공되지만 노드와 함께 바이너리를 설치한다는 의미입니다. 각각의 폴더에서 두 바이너리를 모두 볼 수 있지만 "nvm use v0.6.13"을 실행할 때 사용중인 npm 바이너리는 최신 버전으로 설치된 것이 아니라 이전 버전의 노드로 설치된 것입니다.
thisissami

1
다음은 npm의 코드입니다 : github.com/creationix/nvm/blob/master/nvm.sh#L135-148 , 0.6 이후에는 필요하지 않으므로 해당 부분을 제거해야합니다. 도움이 될 것입니다. github에서 이슈를 생성 할 수도 있습니다.
Farid Nouri Neshat

내가 지금이 문제에 노력하고, 어떤 도움을 주시면 감사 - stackoverflow.com/questions/50976138/...
알렉산더 밀스

답변:


330

편집 : 새로운 답변 에서 언급 했듯이이 질문에 처음 대답 한 지 몇 년이 지난 지금이 명령이 있습니다.

nvm에는 이제 npm을 업데이트하는 명령이 있습니다. 그건 nvm install-latest-npmnvm install --latest-npm.

nvm install-latest-npm: npm현재 노드 버전 에서 최신 작업 으로 업그레이드하려고합니다.

nvm install --latest-npm: 설치 후 지정된 노드 버전에서 최신 작동 npm으로 업그레이드하십시오.

아래는이 질문에 대한 정답의 이전 개정판입니다.

이 질문이 처음 제기 된 후 3 년이 지난 지금은 대답이 훨씬 간단 해 보입니다. nvm이 설치된 버전을 업데이트하십시오 ~/.nvm/versions/node/[your-version]/lib/node_modules/npm.

방금 npm 2.14.7과 함께 제공되는 노드 4.2.2를 설치했지만 npm 3을 사용하고 싶습니다.

cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm

쉬운!

그리고 네, 이것은 npm뿐만 아니라 특정 버전의 노드에 대해 "글로벌"되기를 원하는 모든 모듈에서 작동합니다.


편집 1 : 최신 버전에서는 npm -g스마트하고 시스템 전역 경로 대신 위의 경로에 모듈을 설치합니다.


의견에 이것을 지적 해 주셔서 감사합니다.


13
나처럼 nvm이 어디에 있는지 모르는 사람들을 위해을 실행하십시오 which npm.
Larry

16
그리고 최신 버전이 아닌 다른 npm 버전을 원하면 해당 버전 npm install npm@major.minor.patch을 얻으십시오.npm@3.10.9
Michael

2
nvm-windows 에서도 비슷한 기능이 있습니다 (예 :)cd ~/AppData/Roaming/nvm/v5.10.1 .
absynce

2
Windows 용 nvm을 사용하는 사람은 위와 동일하게 수행 할 수 있지만 (npm install npm 실행) Windows 용 노드 설치 위치에서 수행 할 수 있습니다. Windows 10의 경우 ~ / AppData / Roaming / nvm / [your-version]입니다. 즉 Users \ myusername \ AppData \ Roaming \ nvm \ v9.7.1
Sean Holmesby

3
더 쉬운 방법 nvm install-latest-npm- samlandfried 아래의 대답으로 stackoverflow.com/a/47519162/5991278
philraj

43

nvm은 npm을 처리하지 않습니다.

따라서 여전히 많은 패키지에 의존하는 노드 0.4.x를 설치하고 NPM을 사용하려는 경우에도 npm 1.0.x를 사용할 수 있습니다.

노드 0.6.x (npm 1.1.x와 함께 제공)를 설치하고 npm과 함께 nvm을 설치하십시오.

npm install nvm
. ~/nvm/nvm.sh

nvm과 함께 노드 0.4.x를 설치하십시오.

nvm install v0.4.12
nvm use v0.4.12

install.sh를 사용하여 npm을 설치하십시오 ( -L리디렉션을 따르는 매개 변수에 유의하십시오 ).

curl -L https://npmjs.org/install.sh | sh

이것은 노드 0.4.12를 감지하고 ~ / nvm / v0.4.12 / lib / node_modules 폴더에 npm 1.0.106을 설치하고 nvm에 대한 symlink를 만듭니다.

~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js

npm을 실행하려고해도 여전히 오류가 발생하지만 nvm use v0.4.12다시 수행하면 작동합니다.


3
감사! URL은 다음과 같이 변경되었습니다. curl https://npmjs.org/install.sh | sh
tristen

7
이것이 정말로 오래된 대답입니까? 내 npm은 사용중인 노드 버전의 종속성으로 nvm에 의해 자동으로 다운로드됩니다.
데이먼 스미스

2
네. 그것은 낡았다. 여전히 노드 0.4와 이전 nvm을 사용중인 경우이 문제가 표시 될 수 있습니다.
fijiaaron

1
www를 강제로 URL이 다시 변경되었습니다. curl -L리디렉션을 따르는 데 사용 합니다.
Neal Ehardt

32

nvm에는 이제 npm을 업데이트하는 명령이 있습니다. 그건 nvm install-latest-npmnpm install --latest-npm.


3
이에 대한 문서에 대한 링크가 있습니까?
allicarn

1
에서 nvm help콘솔 출력 : --latest-npm After installing, attempt to upgrade to the latest working npm on the given node version나는이에 대한 참조를 찾을 수 없습니다 nvm하지만, 문서를. 찾으면 공유하십시오.
samlandfried

감사합니다! 이것은 실제로 정답으로 표시되어야합니다.
philraj

유일한 가능한 32 비트
Negin Basiri

30
npm install npm@x.x.x -g
npm install npm@5.4.0 -g

2
질문은 nvm에 관한 것이지만 실제로는 여기에 왔습니다. 감사합니다. 공감.
Atrahasis

27

나는 Windows에 있고이 물건을 작동시킬 수 없었습니다. 파일에 문제가 계속 발생했습니다. 그래도 작동했습니다.

cd %APPDATA%\nvm\v8.10.0           # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest

cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
rm npm-old
rm npm-old.cmd
cd node_modules\
rm -rf npm-old

그리고 붐, 나는 사업에 돌아왔다.


3
고마워, 이것은 Windows에서도 효과가있었습니다. (동일한 파일 충돌 문제가 있음)
Venryx

1
나를 위해 일했습니다. Windows에서 nvm을 사용하여 노드를 관리하고 있으며 노드 버전으로 전환 한 후 nvm을 향상 시키려고했습니다. 높은 권한으로 콘솔을 실행해야했습니다. 내 경로 nodejs 폴더는 "C : \ Program Files \ nodejs"입니다. 이것은 nvm이 다운로드를 캐시하기 위해 사용하는 내 컴퓨터 (APPDATA 아님)의 다른 위치에 대한 별명입니다. nvm을 설치할 때 다른 위치를 선택했다고 생각합니다.
Moika

2
감사합니다. 아마도 nvm 창의 모든 오래된 nodejs 버전에서 npm 업데이트 방식을 수정해야합니다.
rbinsztock

1
이를 통해 Node 10.x와 함께 제공되는 npm을 업데이트 할 수있었습니다. 감사합니다!
andypotato

2
nodejs v10.15.3와 창에 근무 변경했습니다 mvrenrmdelrmdir나를 위해.
deerchao

17

Linux 기반 OS에서 npm 버전을 변경하는 것은 아직 간단한 명령 프로세스가 아닙니다. 이전 버전의 npm으로 다시 전환하기 위해 다음을 수행했습니다. 이것은 모든 버전의 npm이 작동하도록 작동해야합니다. 먼저 사용하려는 npm 버전을 설치하십시오.

sudo npm install -g npm@X.X.X

/ usr / local / bin /에서 sym 링크를 제거하십시오.

sudo rm /usr/local/bin/npm

설치 한 원하는 npm 버전을 사용하여 sym 링크를 다시 작성하십시오.

sudo ln -s /usr/bin/npm@X.X.X /usr/local/bin/npm

1
이 지침을 따라 2.14.7에서 2.15.9로 가려고했는데 npm -v를 입력하면 3.8.6이됩니다. 젠장.
Kyle Baker

3
몇 가지를 시도한 후에 나에게 사용 sudo npm install -g npm@x.x.x하면 해당 버전의 응답을 얻습니다 npm -v. 어쨌든 이것은 적어도 4.x에서 2.15.9로 진행되었습니다.
Kyle Baker

1
필자의 경우 sudo npm install -g npm@4.6.14.6.1 만 설치했지만 npm 5.1.0이 계속 사용되었습니다. 팁이 4.6.1로 전환하는 데 도움이됩니다.
Hung Tran

8

www.npmjs.com/install.sh 를 보면 환경 변수를 설정하여 특정 버전을 설치하는 방법이 있다는 것을 알았습니다.

export npm_install="2.14.14"

그런 다음 npmjs.com에 설명 된대로 다운로드 스크립트를 실행하십시오 .

curl -L https://www.npmjs.com/install.sh | sh

npm_install 변수 설정을 생략하면 최신으로 표시 한 버전이 설치됩니다.


2
curl -L https://www.npmjs.com/install.sh | sudo sh, aaaa 를 사용해야 했고이 방법이 작동하지 않아서 말한 환경 변수를 내보내도 최신 버전을 얻었습니다. 신 이시여. 나는 2.14.7에서 2.15.9 버전을 원했고 아래 답변은 3.8.6이고 이제이 답변은 4.0.2입니다. WTF.
Kyle Baker

6

Windows에서 터미널을 관리자 권한으로 실행하십시오 (필요한 권한 문제가있는 경우). 그런 다음 특정 노드 버전 (예 : 7.8.0)을

nvm use 7.8.0

그런 다음 npm을 원하는 특정 버전으로 업데이트하십시오.

npm install -g npm@5.0.3


2

위의 지침에 약간의 변형이 있었고 나를 위해 일했습니다. (MacOS Sierra 10.12.6)

npm install -g npm@3.10.10
rm /usr/local/bin/npm
ln -s ~/.npm-packages/bin/npm /usr/local/bin/npm
npm --version


0

nvm-windows기존 노드 설치 위에 설치 한 후 동일한 문제가 발생했습니다 . 해결책은 지침을 따르는 것입니다.

또한 nvm 설치 위치가 올바르게 사용되도록 기존 npm 설치 위치 (예 : "C : \ Users \ AppData \ Roaming \ npm")를 삭제해야합니다.

설치 및 업그레이드


0

Windows에서 NVM 설치 및 사용

다음은 Windows에서 NVM 설치를위한 단계입니다.

NVM은 노드 버전 관리자를 나타내며 특정 용도로 노드 버전을 전환하는 데 도움이됩니다. 또한 사용자는 여러 npm 및 노드 버전으로 작업 할 수 있습니다.

nvm 설정을 설치하십시오. "nvm list"명령을 사용하여 설치된 노드 버전 목록을 확인하십시오. "nvm use version number [6.9.3]"을 입력하여 버전을 전환하십시오. 자세한 정보

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.