JS (Java Script)

mongodb 설치 오류. Cannot install on Intel processor in ARM default prefix (/opt/homebrew)!

GABOJOK 2023. 9. 17. 15:28

mongodb를 이용하는 강의를 듣던중 연결이 안되는 문제를 발견했다. 

처음에는 localhost 문제인 줄 알았지만, mongodb 를 연결하는 코드 안에서 불러왓기 때문에 안되는 것이였다. 

(밖으로 빼보니 잘 되었다.. ㅎ)

mongoose 를 사용해 localhost 로 잘 불러와 졌지만, 나는 강의를 mongodb를 이용하는 것으로 진행하기 때문에 

이 문제를 꼭 해결해야만 했다.

 

깊은 수렁의 시작......

 

열심히 구글링 하기 시작했다.

mongodb의 버전 문제라는 말도 있어서 버전 확인을 시도했다. 

 

 

https://database.guide/7-ways-to-check-your-mongodb-version/

 

7 Ways to Check your MongoDB Version

If you’re wondering what version of MongoDB you’re running, here are 7 ways you can use to check. Actually, some of these check your MongoDB server version, and some check your mongo shell version. In any case, let’s take a look. The db.version() Met

database.guide

위의 문서에 따라서 시도해 보앗다. 

일단 db.version() 은 function 을 입력하라고 나왔다. 

 

다른 방법으로 아래를 시도해 보았다. 

mongod --version

 

그렇지만 에러메세지가 나왔다.

zsh: command not found: mongo

 

mongo --version 이나 mongo 등등 나와있는 어떤 방법을 시도해 봐도 mongo를 찾을 수 없다고만 나왔다. 

 

❓😂😂😂

 

엥???  싶었다.

나는 mongoDB 를 분명 설치 했었는데....?? 왜 mongodb를 찾을수 없다고 하는걸까???

뭔가 설치가 잘못되었나? 싶었다. 

그래서 mongodb를 다시 설치 하기로 했다. 

 

https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-os-x/

 

Install MongoDB Community Edition on macOS — MongoDB Manual

Docs Home → MongoDB Manual MongoDB AtlasMongoDB Atlas is a hosted MongoDB service option in the cloud which requires no installation overhead and offers a free tier to get started.Use this tutorial to install MongoDB 7.0 Community Edition on macOS using

www.mongodb.com

 

 

위 공식 사이트 내용에 따라서 설치를 진행했다. 

일단 xcode 명령줄 도구를 설치하고, 

그다음 단계인. homebrew 를 설치했다.

 

탭하세요.MongoDB 홈브루 탭macOS 터미널에서 다음 명령을 실행하여 MongoDB 및 데이터베이스 도구에 대한 공식 Homebrew 공식을 다운로드합니다.

brew tap mongodb/brew

그 다음

Homebrew 및 모든 기존 수식을 업데이트하려면 다음을 수행합니다.

brew update

 

오케이 여기까지만 해도 잘 진행되었다. 

그런데...

 

MongoDB를 설치하려면 macOS 터미널 애플리케이션에서 다음 명령을 실행하세요.

brew install mongodb-community@7.0

이부분에서 문제가 발생했다. 

 

 

Error: Cannot install on Intel processor in ARM default prefix (/opt/homebrew)!

 

엥??? 이건 또 뭐람 싶어서 다시 구글링 진행...

 

원인1.

intel 프로세서 기반 Mac 에서 ARM 아키텍처용  Homebrew 를 사용하려고 하면 이런 에러가 발생할 수 있다고 한다.

삭제후 재설치를 권했다.

 

원인2. 

다른 경로에 잘못 저장되어 있다. 

 

👀

 

1번 원인 확인.

https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew

 

FAQ (Frequently Asked Questions)

Documentation for the missing package manager for macOS (or Linux).

docs.brew.sh

위 사이트에 따라서 진행

 

1) homebrew 삭제

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

이걸 터미널에 입력하면 삭제시켜 준다고 한다. 

그래서 진행했는데, 완전히 삭제되지 않았고, 직접 아래의 파일들은 삭제해야 한다고 한다. 

 

 usr/local 이라는 폴더는 도대체 어디에 있는걸까...

하며 다시 구글링 ㅎㅎㅎ

 

 

https://hongtaoh.com/en/2020/05/23/homebrew-uninstall/

 

郝鸿涛:Hongtao Hao

My Macbook Air is pretty old, so I cannot put up with any useless files that take up a lot of space. When installed, Homebrew takes up over 400MB. That’s a lot of space, at least for me. I installed Homebrew and then I wanted to delete it. So I went to /

hongtaoh.com

2) homebrew 삭제하고 남은거 직접 삭제하기

이 사이트에 따르면,  open -a Finder /usr/local/ 를 터미널에 입력하면 해당 폴더에 접근할 수 있다.

거기서 터미널에서 말한 폴더 하나하나를 삭제해 주면  된다. 

 

나는 /usr/local/bin/ 까지 삭제하라고 터미널에서 안내해줘서 이것 또한 삭제했다. 

 

그리고 다시 homebrew install을 시작했다. 

 

3) homebrew 다시 설치.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

암호 입력하라고 하는건 컴퓨터의 암호를 입력하면 된다. 

 

 

터미널을 살펴보니 잘 진행이 된것 같았다. 

마지막에 Next steps라고 안내가 나와서 처음에는 무시했는데, 이게 문제였던것. .....

 

4) 터미널에서 안내하는 Next steps 잘 따르기.

(무시하고 brew tap mongodb/brew 를 입력하고, brew install mongodb-community 를 했을때 또 같은 오류가 나왔다.

Error: Cannot install on Intel processor in ARM default prefix (/opt/homebrew)!

가면 갈수록 수렁에 빠져가는 것 같았지만 다시 구글링 시작했다.

구글링 해도 같은 방법을 안내하고 있어서 다시 한번 시도해 봤다. 

자세히 들여다 보니 역시 나의 실수 ㅎㅎ)

 

Run these two commands in your terminal to add Homebrew to your PATH:

이 안내는 homebrew를 사용하기 위해 필요한 설정을 마무리 하는 것이였다. 

PATH는 컴퓨터가 명령을 실행 할 때에 어떤 디렉토리에서 실행할 지를 나타내는 환경 변수라는 것.....

이 PATH 에 homebrew가 추가되어야 명령을 잘 실행할 수 있다고 한다.....

 

그래서 다시 시도했을때에는 이 안내를 착실히 따랏다..

 (echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/사용자이름등등정보있어요

일단 바로 아래줄에 있던 이 내용을 그대로 복붙에서 터미널에서 실행시켜 준 뒤에.

바로 아랫줄에 있던 이 내용까지 터미널에서 실행시켜 줬다.

eval "$(/usr/local/bin/brew shellenv)"

 

자 이제 mongodb 설치하자. 

아래 내용을 터미널에 한줄 한줄 입력하면..

brew tap mongodb/brew
brew install mongodb-community

터미널에 뭔가 쫘르륵 나온다.op

==> Successfully started `mongodb-community` (label: homebrew.mxcl.mongodb-community)

이렇게 나왔고, 신나서 다음 단계였던  mongo 를 입력했는데..

 

zsh: command not found: mongo

 

🥲

 

mongodb 가 설치된 경로를 확인하기 위해

which mongo   시도.

그렇지만 결과는  mongo not found...

 

 

나는 분명 mongodb를 설치했고, 잘 깔렷다고 메세지 까지 받았는데 

계속 mongodb를 찾을 수 없다고만 나왔다. 

 

확인차 설치하는 명령어였던.  brew install mongodb/brew/mongodb-community  를 입력하자

이미 있으며 업데이트도 되었다고 나왔다...ㅎ???

 

😂

 

한참을 잡고있다가......

 

😂

 

 

혹시몰라 버전을 강의 환경과 동일하게 맞춰서 다시 시도해 봤다.

.....

바로 작동 이 되어버리는.. 마법..

욕심내서 7버전으로 설치한게 화근이였다....

 

강의가 오래전 강의여도, 들을꺼면 강의 환경 따라가야겠다...