오류 메시지에 따르면 두 가지 문제가 있습니다.
-
Bundler를 root 권한으로 실행하는 문제: 이는 보안과 사용자 권한 관리 측면에서 권장되지 않습니다. 일반 사용자 권한으로 bundle install
을 실행해야 합니다. sudo
를 사용하지 말고, 일반 사용자 계정으로 명령어를 실행해 주세요.
-
Ruby 버전 불일치 문제: 현재 환경에서 사용 중인 Ruby의 버전은 3.0.2이지만, 프로젝트의 Gemfile
에서는 3.2.2 버전을 요구하고 있습니다. 이는 rbenv
를 사용하여 설치한 Ruby 버전이 현재 셸 세션에서 활성화되지 않았기 때문일 수 있습니다.
문제 해결 방법
Ruby 버전 확인 및 변경
-
현재 Ruby 버전 확인:
ruby -v
이 명령어는 현재 활성화된 Ruby 버전을 보여줍니다.
-
rbenv
를 통해 설치된 Ruby 버전 목록 확인:
rbenv versions
이 명령어는 rbenv
를 통해 설치된 모든 Ruby 버전을 나열합니다. 여기서 3.2.2
버전 옆에 별표(*)가 표시되어 있어야 합니다. 별표는 현재 활성화된 버전을 나타냅니다.
-
Ruby 버전을 3.2.2로 변경: 만약 Ruby 3.2.2가 설치되어 있으나 현재 세션에서 활성화되지 않았다면, 다음 명령어로 변경할 수 있습니다:
rbenv global 3.2.2
또는 특정 프로젝트 디렉토리에서만 Ruby 버전을 변경하려면, 해당 디렉토리에서 다음 명령어를 실행합니다:
rbenv local 3.2.2
-
변경 사항 적용: Ruby 버전을 변경한 후에는 변경 사항을 적용하기 위해 셸을 재시작하거나, 다음 명령어로 rbenv
를 초기화해야 합니다:
eval "$(rbenv init -)"
-
확인: 다시 ruby -v
명령어로 현재 Ruby 버전이 3.2.2로 설정되었는지 확인합니다.
Bundler 실행
이제 Ruby 버전이 올바르게 설정되었으므로, root 권한이 아닌 일반 사용자 권한으로 bundle install
을 실행할 수 있습니다. 이를 위해 sudo 없이 명령어를 실행하세요:
bundle install
이 단계를 마친 후에도 문제가 계속된다면, 현재 사용 중인 사용자가 root가 아닌지, 혹은 다른 문제가 발생하지 않았는지 확인해 주세요.