mac os에는 기본적으로 ruby 가 설치되어 있다. 이렇게 미리 설치돼있는 ruby를 system Ruby 라고 한다.
$ which ruby
/usr/bin/ruby
$ rbenv versions
* system
그런데 이 system ruby를 그대로 쓰는 것이 좋지 않으니 새로 설치해서 사용하기를 권장한다.
https://mac.install.guide/faq/do-not-use-mac-system-ruby/index.html
=> 요약하자면, ruby를 사용할 때 함께 gem 이라는 라이브러리를 사용해줘야 하는데, 맥 os 에서는 gem 관련 설치, 실행 명령어들에 대해서 권한 오류가 발생한다는 것이다. 그렇다고 system ruby를 삭제하지는 말고 새로 설치하라는 것.
그래서 따로 ruby를 설치하려고 했고, 설치 도중 꽤 복잡하게 오류가 나서 디버깅 및 설치 과정을 기록하려고 한다.
- ruby 설치 중 오류 (BUILD FAILED (macOS 11.6.2 using ruby-build 20211227))
=> 해결
https://stackoverflow.com/questions/65524323/ruby-installation-2-2-2-fails-in-macos-big-sur
아래 명령어로 설치해주니 잘 설치되었다.
CFLAGS="-Wno-error=implicit-function-declaration" rbenv install 2.5.5
아직 system ruby를 바라보고 있지만 2.5.5 버전의 ruby 도 잘 설치되었음을 확인할 수 있다.
어떻게 해결된 것인지 잘 이해는 안 갔지만....
CFLAGS 는 C코드를 컴파일할 때 컴파일러 옵션에 활용하는 환경 변수 중 하나라고 한다. 그런데 apple 에서 default cflags 옵션을 바꿔서 문제가 발생했고.. 그래서 명령어에 옵션을 바꿔서 쳐주면 잘 동작하는,, 그런 게 아니었을까 추측해봤음.
아무튼 여기까지 ruby는 정상적으로 잘 설치되었는데, 컴퓨터에서 바라보는 ruby 버전이 바뀌지 않는 문제가 있었다.
- 루비 버전 전환 오류
$ rbenv global 2.5.5
rbev versions 에서는 2.5.5 를 가리키는데, ruby -v 이나 루비의 경로는 여전히 system ruby 를 가리키고 있었다.
2.5.5버전을 가리키도록 하기 위해 ./zshrc 파일에서 환경 변수 설정을 해줘야 한다.
./zshrc 파일에 아래 코드를 추가해준다.
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
정상적으로 가리키는 버전이 바뀌었음을 확인할 수 있다.
+) 환경변수를 맞춰준 후에는 반드시 source 명령어로 바뀐 설정을 꼭 적용시켜줘야 한다.
설치 도중 오류가 발생하면 일단 설정이 적용되었는지 첫번째로 확인하고, 그 다음으로는 터미널이 껐다 켜서 제대로 적용될 수 있도록 해주는 것을 추천한다.
'기타' 카테고리의 다른 글
엑셀비드 UI 작업 리뷰 (0) | 2022.02.03 |
---|---|
테이블러 (tabler) 개발 환경 세팅 (0) | 2022.01.26 |
환경 변수 관련 스터디 (2) - zsh 에서 .bash_profile 적용 (0) | 2022.01.26 |
22년 1월 3주차 TIL (0) | 2022.01.25 |
DMP 네비게이션 바 UI 리뉴얼 과제 리뷰 (0) | 2022.01.25 |
댓글