1 minute read


Mac에서 오류 ruby를 설치하다보면 아래와 같이 Gem::FilePermissionError가 발생할 때가 있다.

1
2
ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

권한이 없어 gem 설치가 되지 않는다는 것으로 system이 ruby를 사용하고 있기 때문인데,

오늘은 rbenv를 사용해서 이 에러를 해결하는 방법을 알아보자.

1. 원인확인

아래 install 명령어를 통해 rbenv를 우선적으로 설치해준다.

1
$ brew install rbenv

brew 명령어를 사용할 수 없다면 HomeBrew를 우선 적으로 설치한다.

HomeBrew 설치하기



설치를 완료한 이후 명령어를 통해 정상적으로 설치했는지 버전을 확인한다.

1
$ rbenv versions


확인하면 아래와 같이 system에서 ruby를 사용하고 있다는 것을 알 수 있다.

1
* system (set by /Users/dongChangKim/.rbenv/version)


따라서 system이 아닌 rbenv에서 관리되는 ruby 버전을 벌도로 설치하면 되는데 아래 명령어를 통해 현재 설치 가능한 버전을 확인한다.

1
$ rbenv install -l


나오는 버전 중 사용하실 버전을 선택하면 되고, 현재(2022.07.29)기준 최신 버전인 3.1.2 버전을 설치하도록 한다.


2. ruby 설치하기

아래 명령어를 통해 최신버전의 ruby를 설치한다.

1
$ rbenv install 3.1.2

설치가 완료된 후 다시 한 번 위에서 사용했던 버전 확인 명령어를 통해 버전을 확인해준다.

1
2
* system (set by /Users/dongchangkim/.rbenv/version)
  3.1.2


3.1.2 버전의 설치가 완료 되었지만 여전히 system이 선택되어 있는걸 볼 수 있는데, 아래 명령어를 통해 대표 버전을 설치한 최신버전으로 변경한다.

1
$ rbenv global 3.1.2


변경 하고 나면 3.1.2가 선택되어 있는 모습을 확인할 수 있다.


3. PATH 설정하기

쉘 설정 파일을 열어 다음의 코드를 추가한다. bigsur 이상 버전을 사용하고 있으므로 저는 zsh를 사용하여 .zshrc에 추가한다.

1
$ vim ~/.zshrc


vim 에디터에서 i를 눌러 insert Mode에 진입하고 아래 두줄을 추가한다.

1
2
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"


코드 추가 이후 esc를 눌러 normal 모드로 변경해 준 뒤 :wq 를 입력해서 저장 후 종료한다.

명령어 내용
:q 종료
:w 저장
:wq 저장 후 종료
:q! 저장하지 않고 종료
:wq! 강제로 저장하고 종료


PATH를 설정하고 업데이트 한 내용을 적용하기 위해 source 명령어를 사용하고 flutter 명령어로 버전을 확인하고

1
2
$ source ~/.zshrc       //내용 적용
$ flutter --version     //버전확인


정상적으로 버전이 나타나고 설정이 됐다면 아래 코드로 bundler를 설치한다.

1
$ gem install bundler


이 후 설치를 진행하다보면 뭐가 없다 뭘 해야한다 라고 나오는 경우가 있는데 시스템이 친절하게 어떤 명령어를 입력하라고 알려주니 그대로 따라하시면 정상적으로 설치가 가능한 것을 볼 수 있다.