Basic_Studies/그외

[Homebrew] 패키지 특정 버전으로 다운그레이드(feat. node)

adore_voy 2021. 4. 30. 13:38

 


패키지를 처음 다운 받는 것이 아니라면, 

다른 사람들과 협업을 할 때 패키지를 로컬에 새로 인스톨 해야한다면

버전관리는 매우 중요하다.

 

버전이 원 프로젝트의 패키지들 버전과 다르다면 

지원이 되지 않는 기술이 있어 제대로 작동이 되지 않을 수 있다.

 

이를 해결하기 위한 방법은 여러가지이지만,

절대로 무작정 패키지를 최신버전으로 업데이트 하는 방법은 위험하다.

 

가장 쉬운 방법은 패키지를 원 프로젝트의 버전에 맞춰 다운로드 받는 방법이다.

 

맥 기준 Homebrew로 패키지 버전 관리 방법을 알아보자.

 

예시는 node.js를 기준으로 설명할 것이다.

 


 

설치 된 노드 버전 확인

 

node --v

 

만약 노드가 설치 돼 있다면 버전이 v.xx.xx등으로 출력 될 것이다.

노드가 설치 돼 있지 않다면, command not found: node 라고 출력 될 것이다.

 

 

1. 설치 돼 있을 때

 

brew install node@원하는 버전

 

이라고 입력하면

 

Error: No similarly named formulae found.

라며 설치가 불가능 한 경우가 많다.

 

먼저 아래와 같이 설치 가능한 formulae를 찾아야 한다.

 

brew search node

 

==> formulae

node@10 node@12 node@14

 

이런식으로 설치 가능한 formulae를 나열 할 것 이다.

 

위에 나열 된 버전으로만 설치가 가능하다.

 

그리고 나열 된 버전 중 하나를 다운받는다.

 

brew install node@14

 

그러나 설치가 됐다고 해서 바로 적용되지 않는다.

연결 된 버전의 연결을 끊고 새로운 버전을 연결시켜야 한다.

 

brew unlink node && brew link node

 

그리고 버전을 확인해보면 다운 받았던 버전이 나올 것이다.

 

2. 설치가 안 돼 있을 때

 

unlink 할 필요 없이 바로 brew install node@설치가능버전 을 입력하면 된다.

 

 


 

아마 설치 가능한 formulae가 다른 버전과 최소한의 호환을 지원하기 때문에 남겨둔 것이 아닐까 싶다.

본인은 16.0.1 버전에서 15.4.0 버전으로 다운그레이드 하려고 했으나,

불가능하여 14 버전으로 다운그레이드 했는데 문제가 해결됐다.

 


 

그래도 특수한 버전을 다운받아야 한다면,

nodebrew에 관해 알아보아도 좋을 것 같다.

 

실제로 해결책이 될 수 있을지는 불분명하지만, 버전 다운로드는 성공했다.

 


 

참고

 

apple.stackexchange.com/questions/171530/how-do-i-downgrade-node-or-install-a-specific-previous-version-using-homebrew

medium.com/@georgeenathomas/3-step-process-to-downgrade-node-version-using-homebrew-bc0b0a72ae27

no-free-lunch.tistory.com/9

반응형