Mac
-
[Mac 개발환경 설정] 5. Ruby 설치 - rbenvMac 2023. 2. 6. 08:23
Ruby는 macOS에 기본으로 설치되어 있다. > which ruby /usr/bin/ruby Ruby를 설치해야 하는 이유 이 ruby를 사용했을 때의 단점이 두 가지 있는데, 첫 번째는 원하는 버전을 선택할 수 없다는 점이다. 두 번째는 Apple Silicon의 경우인데, 기본적으로 설치된 gem으로 설치한 cocoapods이 문제를 일으키는 경우가 있다는 점이다. cocoapods를 설치하는 방법은 brew와 gem 두 가지인데, cocoapods은 gem으로 설치하는 게 권장사항이다. 문제는 이렇게 /usr/bin/gem으로 설치된 cocoapods은 pod install이 제대로 동작하지 않는다는 점이다. 해결책은 Rosetta를 사용하는 것인데, 성능 저하 문제도 있어 추천하고 싶지는 않다..
-
[Mac 개발환경 설정] 4. HomeBrew 설치Mac 2023. 2. 6. 01:29
HomeBrew는 MacOS용 Package Manager이다. Ubuntu에서 사용하던 apt-get(apt)랑 같은 역할을 하는 녀석이다. 이런 Package Manager는 하나만 사용하는 게 꼬이는 일도 방지하고 좋다. 개발을 할 때 필요한 의존성을 설치해야 하는 일이 종종 생긴다. 그 때 해당 의존성을 개발한 개발자가 권장하는 방법으로 의존성을 설치하는 게 무조건 맞다. 개발자가 권장하는 방법이 없거나, 권장하는 방법이 여러 개일 때 패키지 매니저는 Brew만 사용하기로 약속하면서 시작해보자. HomeBrew도 원하는 prefix에 설치할 수 있다. 그래서 $DEV_SDK에 설치해서 사용하려고 했지만, 그렇게 설치하면 아래와 같은 경고를 만나게 될 것이다. Warning: Your Homebre..
-
[Mac 개발환경 설정] 3. zsh 설정하기Mac 2023. 2. 5. 23:34
Shell을 커스텀해보자. 개발자라면 좋든 싫든 쉘 환경을 자주 사용하게 될텐데, 그럭저럭 쓸만한 ubuntu와 달리 mac의 기본 shell은 그냥 사용하기에는 좀 많이 아쉬운 편이다. 보통 맥에서 많이 사용하는 터미널 앱은 기본 Terminal 앱 혹은 iTerm2이다. 둘 중 무엇을 써도 상관 없지만 ITerm2가 좀 더 편하고 이쁘다고 해서 iTerm2를 많이 쓰는 것 같다. iTerm2 설치는 https://iterm2.com에서 할 수 있다. 맥에서의 기본 shell은 bash였지만 Mac OS Catalina부터는 zsh로 바뀌었다. 보통 '맥 zsh 설정'을 검색하면 나오는 내용은 Oh my Zsh를 사용하는 내용이다. 그런데 Oh my Zsh는 terminal을 느리게 만들어서 사용을 안..
-
[Mac 개발환경 설정] 2. Workspace 설정하기Mac 2023. 2. 5. 01:29
[Mac 개발환경 설정] 1. DEV_ROOT 설정하기 에서 DEV_ROOT를 설정해주었다. 그러니 이번엔 Workspace, 작업 공간을 설정해주자. 사실 이건 설정한다고 하기도 민망하다. 아래 명령어만 입력해주면 된다. mkdir ~/workspace 홈 폴더에 workspace라는 폴더를 만들었다. 이게 끝이다. 뭔가를 했다기 보다는 작업 공간으로 여기를 쓰기로 나 자신과 약속하는 것뿐이다. 이대로 끝내기엔 아쉽기도 하고, 약속했다는 기록을 남겨두어야 나중에 까먹지 않으니까 $DEV_ROOT/.zshrc에 아래 내용을 추가해주자. # >>> workspace >>> export WORKSPACE=$HOME/workspace #
-
[Mac 개발환경 설정] 1. DEV_ROOT 설정하기Mac 2023. 2. 5. 01:09
어쩌다보니까 새로운 맥북에 개발환경을 설정하게 되는 일이 굉장히 자주 있었다. 최근 2년 사이에 초기 상태의 맥북에 개발환경을 설정하는 일이 7번은 되는 것 같다. 그래서 내가 맥북에 개발환경을 설정하는 방법을 정리해두려고 한다. 첫 번째로 할 일은 DEV_ROOT를 설정하는 일이다. 말은 거창하지만 그냥 간단하게 작업 폴더를 만들어 두고, 모든 개발의 결과가 이 밖으로 나가지 않도록 하는 일이다. 이렇게 하면 여러 장점이 있는데, 우선 무언가 망했을 때 초기화까지 할 필요 없이 저 폴더만 지우면 된다는 점이 있다. 그리고 내가 실행한 모든 명령어의 결과가 이 폴더에 저장되고, 저장되도록 하는게 목표인데 그러면 좀 더 쉽게 명령어의 결과를 알아볼 수 있다. 서비스 개발을 할 때는 보통 거의 상관이 없지만..