2022. 12. 30. 16:12ㆍError
Background : Flutter 개발 환경을 설치하고 flutter doctor로 개발 환경을 체크했다.
Xcode에서 CocoaPods가 설치가 안돼있다고 해서 https://cocoapods.org/ 사이트에서 제공하는 명령어로 설치를 시도했으나 에러가 발생했다.
Error :
sudo gem install cocoapods
터미널에서 위 명령어로 cocoapods를 설치하는 과정에서 다음과 같은 에러가 발생하였다.
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
문제의 원인 :
cocoapods를 설치할 때 gem을 통해 설치한다.
gem은 Ruby의 패키지 매니저이기 때문에 권한이 없어 위 명령어가 실패하는 것이다.
따라서 이 문제를 해결하기 위해 Ruby를 건드려야한다.
Solution :
1. brew를 통해 rbenv를 설치한다
brew update
brew install rbenv ruby-build
2. rbenv가 잘 설치되었는지 확인한다.
rbenv versions
다음과 같이 결과가 나온다.
* system (set by /Users/dain/.rbenv/version)
+) 에러를 해결하려고 여러번 시도한 후에는 위와 같은 결과가 나왔지만, 맨처음 시도했을 때는 아래처럼 경로는 안나오고 *system만 떴었다. 서치한 블로그들은 거의 위와 같이 경로가 같이 나와서 나만 안나오는 건가 싶어 조금 당황했었는데 그대로 계속 진행하면 나중에 경로가 뜨게된다.
* system
3. rbenv로 관리되는 Ruby를 설치해야 한다.
설치하는 Ruby 버전은 다음 명령어로 확인할 수 있다.
rbenv install -l
4. 현재 기준 최신 버전인 3.2.0을 설치한다.
rbenv install 3.2.0
5. 설치 후 다시 rbenv로 버전을 확인해본다.
rbenv versions
다음과 같이 결과가 나온다.
*system
3.2.0 (set by /Users/dain/.rbenv/version)
6. rbenv로 글로벌 버전을 3.2.0으로 변경한다.
rbenv global 3.2.0
7. 다시 버전을 확인하면 3.2.0이 선택된 것을 확인할 수 있다.
system
* 3.2.0 (set by /Users/dain/.rbenv/version)
8. rbenv PATH를 추가하기 위해 쉘 설정 파일(..zshrc,.bashrc)을 열어 다음 코드를 추가한다.
나는 zsh를 사용하는 관계로 .zshrc에 코드를 추가한다.
.zshrc 파일 열기
vim ~/.zshrc
다음과 같은 화면이 뜬다. 키보드에서 i 를 누르면 쓰기(write)를 할 수 있다.
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
다음 코드를 추가해준다.
esc를 누른다. (esc를 누르면 더이상 쓰기가 되지 않는다.)
:wq를 입력하고 엔터를 누르면 터미널로 돌아온다.
9. 터미널로 돌아와서 source로 코드를 적용한다.
source ~/.zshrc
자 이제 gem을 사용할 수 있다!
10. 다시 cocoapods를 설치해보자.
sudo gem install cocoapods
성공적으로 설치가 됐다.
다시 flutter doctor를 터미널에 입력해서 확인해보자.
성공적으로 CocoaPods가 설치되어 Xcode 항목에 파란색 체크가 뜬 걸 볼 수 있다.
이로써 flutter 개발환경을 완벽하게 세팅하였다.
*Reference
위 글의 내용은 독자적으로 고안한 것이 아닌 다음 블로그의 내용을 참고한 것입니다.
https://jojoldu.tistory.com/288
Mac에서 Gem::FilePermissionError 에러 발생시 해결 방법
Mac에서 Ruby의 패키지 매니저인 gem을 통해 설치를 진행하다 다음과 같은 에러를 만납니다. $ gem install bundler ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Ge
jojoldu.tistory.com