homebrew를 사용하여 노드를 다운 그레이드하거나 특정 이전 버전을 설치하려면 어떻게합니까?


229

나는 brew를 사용하고 있습니다. brew를 사용하여 노드를 설치했습니다. 이전 버전의 노드를 사용하고 싶습니다.

온라인, 내가 지시 찾을 같은 , 예를 들어 :

cd /usr/local/Library/Formula
brew remove node --force
brew versions node
git checkout 83988e4 /usr/local/Library/Formula/node.rb
brew install node

내가 가진 문제 brewversions하위 명령 이없는 것입니다 .

$ brew versions node
Error: Unknown command: versions
$ brew --version
0.9.5

나는 양조에 처음이다. versions어떻게 든 하위 명령 을 활성화해야 합니까? 대신 다른 부속 명령을 사용해야합니까? 시도해야하는 완전히 다른 방법이 있습니까?

OS X Yosemite (10.10.1)를 실행하고 있습니다. 양조 0.9.5.


어떤 버전의 node.js를 설치 하시겠습니까?
bmike

상사가 나에게 10.32를 알려줍니다. 나는 그가 0.10.32를 의미하는 것 같아요. 지금 0.12.0을 설치했습니다.
dave4420

이 날짜에 독자는이 답변으로 가야합니다. stackoverflow.com/a/4158763/48136
Brice

답변:


352

요즘 다른 버전을 설치하려면 다음과 node같이하십시오.

먼저 원하는 패키지를 검색하십시오.

brew search node

결과는 다음과 같습니다.

heroku/brew/heroku-node ✔
llnode
node@10
nodebrew
leafnode
node ✔
node@8
....

그런 다음 원하는 버전을 설치하십시오.

brew install node@8

또한 둘 이상의 노드 패키지를 동시에 설치할 수 있지만 동시에 사용할 수는 없습니다. 따라서 최신 / 일반 node패키지가 이미 설치되어있는 경우 먼저 연결을 해제해야합니다.

brew unlink node

그런 다음 다른 버전을 연결할 수 있습니다.

brew link node@8

일부 이전 노드 버전 (통해 전용)의 경우 --force--overwrite옵션 과 링크해야 할 수 있습니다.

brew link --force --overwrite node@8

10
여기에 가장 좋은 답변입니다.
chovy

3
나열된 다른 버전 중 하나를 성공적으로 설치하기 전에 기존 버전의 노드를 "연결 해제"하라는 메시지가 표시 될 수 있습니다 (위의 지침에 따라). "연결 해제"를 수행하면 시스템에 다른 버전이 실제로 설치된 상태로 유지되지만 연결 해제 후 설치 한 버전은 시스템의 "기본"버전이됩니다. 예를 들어, brew unlink node설치 한 경우 입력해야 할 수 있습니다 brew install node. 그런 다음 할 수 있습니다 brew install homebrew/versions/node4-lts(이 답변의 지침에 따라 버전으로 표시되어야 함).
xmnboy

1
대신 homebrew/versions/node06지금 homebrew/versions/node6-lts입니다. 또한 brew link node6-lts.
akauppi

1
최신 양조 변경 사항을 반영하여 답변을 업데이트했습니다. 감사!
Paweł Gościcki

2
그러나 brew를 사용하여 노드 8.2.1과 같은 특정 버전을 어떻게 설치할 수 있습니까?
Nadav B

39

단계별로 여기 있습니다.

현재 노드 버전을 보려면

$ node --version

사용 가능한 노드 버전을 보려면

$ brew search node

현재 버전에서 연결을 해제하려면

$ brew unlink node

예를 들어 8 버전을 설치하십시오

$ brew install node@8

설치된 버전을 연결하려면

$ brew link node@8

현재 노드 버전을 다시 보려면

$ node --version

내가 필요한 것
Brian Colavito

이 문제를 해결하는 방법은 무엇입니까? brew link node @ 10 경고 : node @ 10은 통 전용이며 --force와 연결되어야합니다. PATH에이 소프트웨어가 먼저 필요한 경우 다음을 실행하십시오. echo 'export PATH = "/ usr / local / opt / node @ 10 / bin : $ PATH " '>> ~ / .bash_profile
vikramvi

Mac OS 10.13.5에서 작동하지 않아 오류가 발생했습니다. stackoverflow.com/questions/53043476/…
vikramvi

15

현재 사제 / 버전이 PR자작이 PR 의 관련 답변 brew tap homebrew/versions이나 *-lts패키지는 더 이상 작동하지 않습니다.

정답은 다음과 같습니다.

brew install node@<version>

어디 <version>이며 0.10, 0.12, 4, 등 예를 들어, (이 글을 쓰는 가장 최근 LTS 버전으로) Node.js를 버전 6를 설치하려면 :

brew install node@6

brew update새로운 버전의 공식을 사용할 수 있도록하기 위해 이러한 명령 을 실행 하기 전에 실행해야 할 수도 있습니다. 다른 버전의 node수식이 설치되어있는 경우 brew unlink node먼저 실행해야합니다 .


2
Mac OS 10.13.5에서 작동하지 않았습니다. stackoverflow.com/questions/53043476/…
vikramvi

11

brew versions설치 후 어느 시점에 설치해야 brew합니다.

$ brew tap homebrew/boneyard

그런 다음 brew versions지시 사항에 따라 명령 을 사용할 수 있습니다 .


4
homebrew/boneyard오래가는로 대체 될 github.com/Homebrew/homebrew-versions 를 통해 설치 월 2015로 brew tap homebrew/versions.
Jakub Holý

12
함께 homebrew/versions하면 패키지의 이름을 버전 얻을 것이다 brew search node => leafnode node node010 node04 node06 node08 nodebrew .... 그렇게 brew install node010다음에 brew link --overwrite node010Node.JS.의 0.10 버전을 설치
Jakub Holý

3
당신은 또한해야 할 수 있습니다 brew unlink node당신 앞에brew install node010
chananelb

10

참고로 이전에 이전 버전을 설치했고 실행하지 않은 경우 brew cleanup(이전 버전을 삭제) 다음과 같이 전환 할 수 있습니다.brew switch node 5.7.0

노드의 모든 설치 버전이 실행에 의해 나열 할 수 있습니다 brew info node또는ls -l /usr/local/Cellar/node/

brew 명령 치트 시트를 참조하십시오 : http://ricostacruz.com/cheatsheets/homebrew.html


2017/12부터 작동합니다! Homebrew 1.4.0-17-gc912d26
Jason Harrison

5

노드에만 특별히 필요한 경우을 사용할 수 있습니다 nvm. Node를 많이 사용하면 매우 편리합니다.


nvm 문서에 따르면 brew 및 nvm은 지원되는 콤보가 아닙니다. 나는 이것에 대해 언급했다. github.com/angular/angular-cli/issues/… 이것 에 관한 전쟁 이야기를 듣고 싶습니다. 표면적으로는 "지원되지 않음"에도 불구하고이 작업을 수행하는 것 같습니다
JGFMK

3

사제없이 할 수 있습니다.

노드를 수동으로 설치 제거한 후 설치할 수 있습니다.

현재 실행중인 버전을 다운로드해야합니다. 여기에 목록이 있습니다.

node-v {your-current-version-number} .tar.gz를 다운로드하여 추출한 다음 명령 행으로 이동하십시오.

cd node-v{your-current-version-number}
./configure
make
sudo make install

제거하려면 sudo make uninstall

그런 다음 설치하려는 버전을 다운로드하고 위의 동일한 단계를 수행하십시오.

블로그 게시물에서


이 답변을 +1하십시오. FWIW, untarred bin/폴더를 내 경로에 복사 하여이 작업을 수행 할 수있었습니다.
shicholas

또한 .pkg 파일을 다운로드 한 다음 두 번 클릭하여 설치할 수 있습니다.
Henrik N


3

여기에 homebrew 버전을 사용한다고 말하는 많은 답변이 있지만 설치할 수있는 Node 버전에 대한 옵션은 매우 제한적입니다.

NVM을 사용하는 것이 훨씬 쉽고 버전 간을 매우 쉽게 전환 할 수 있습니다.

homebrew install nvm

그런 다음주의의 지침에 따라 - mkdir ~/.nvm와에 두 줄을 추가하려면 .bash_profilesource .bash_profile

그런 다음 nvm install <version>필요한 모든 버전에 대해 간단히 실행 하십시오. 그런 다음 nvm use <version>전환하십시오.


이것은 받아 들일만한 대답은 아니지만 나를 위해 일한 유일한 대답입니다. 나는 많은 시간을 절약했기 때문에 이것을 처음 시도했으면 좋겠다.
Alex

1

0.12. * 버전의 이미지를 만들어 봅시다. OSX에서 노드의 추출을 0.10 버전의 설치 (다운 그레이드)하려면 다음을 수행해야합니다.

$ sudo brew tap homebrew-versions
$ brew unlink node
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-versions/master/node010.rb
$ node -v

모든 노드 버전 목록은 여기


1

NodeJS 세계에서 선호되는 방법은 도구 n을 사용하는 것입니다.

  • 설치: npm install -g n
  • 노드 8.8.4 설치 n 8.8.4
  • 로컬로 사용 가능한 모든 노드 버전을 나열하고 하나를 선택하십시오. n

그것은 유사한 것 nvm,하지만 난 문제가 있었다 nvm, 그리고 n상자 밖으로했다.


0

https://nodejs.org/en/blog/release/

여기로 가서 필요한 버전을 설치할 수 있습니다.

설치하기 전에 brew unlink node현재 버전의 링크를 해제 하기 위해 실행할 수 있습니다 .


1
brew를 사용하거나 (몇 가지 다른 답변이 설명하는 것처럼) 노드를 제거한 다음 수동으로 설치하는 것과는 달리 @ Terente-Ionut-Alexandru의 답변과 같이이 방법을 사용하면 어떤 이점이 있습니까?
John N

@JohnN brew 버전은 현재 더 이상 사용되지 않습니다. 대안은 이해하기 쉽지 않습니다. 또한 정확한 버전을 설치하는 것은 양조를 통해 다소 복잡합니다.
Anant Simran Singh

@ Paweł-Gościcki의 답변 (최고 평가, 140 표)은 이해하기 쉽지만 전혀 복잡하지는 않습니다. 최근의 양조 및 다른 버전의 공식에 대한 나의 경험과 일치합니다. 내 요점은 Terente이 제안한 것처럼 제거 + 수동 설치 대신 링크를 해제하거나 수동으로 설치 해야하는 이유가 없다면 다른 답변에서 아직 언급되지 않은 것에 귀하의 답변이 추가되지 않는 것 같습니다.
John N

@JohnN 물론, 이해하기 쉽습니다. 그러나 검색을 제공하는 옵션에 의해 제한됩니다. 예를 들어. 노드 4.4.6을 정확히 원하지만 추출은 node @ 4 옵션 만 제공합니다. 금후.
Anant Simran Singh

나는 (1) brew를 사용하고, (2) nvm을 사용하고, (3) 제거하고 수동으로 설치하는 3 가지 질문에 대한 적절한 대답이 있다고 생각합니다. 내가 당신을하려고하는 것은 왜 당신의 대답이 기존 답변에 추가되는지 설명하는 것입니다. 기존 답변보다 링크 해제 + 수동 설치가 선호되는 이유는 무엇입니까? 특히 Terente의 답변에서 알 수 있듯이 * 연결 해제 * + 수동 설치가 * 설치 제거 * + 수동 설치보다 낫다고 생각하는 이유는 무엇입니까?
John N
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.