본문 바로가기
Back-End/Ruby

Rails 오류 "You have already activated... " 해결하기

by Junmannn 2023. 9. 6.
반응형

 

`check_for_activated_spec!': You have already activated activesupport 7.0.7.2, but your Gemfile requires activesupport 6.1.7.6. Prepending `bundle exec` to your command may solve this. (Gem::LoadError) 이런 오류가 발생하기 시작했다...

 

 

Gemfile.lock 을 지우고 다시 bundle install 해도 안되는 경우!

 

가끔 bin/rails 오류나 각종 터미널 상의 오류, 특정 gem 설치 이후 오류들이 발생할때마다 하나를 고치면 파생된 다른 오류들이 연달아 생기곤 합니다.. 물론 rails 만의 문제는 아닙니다ㅋㅋ

 

저는 gem 을 설치하고 Rails 프로젝트에서 버전 충돌이 할생하는 문제를 해결한 경험을 공유하려합니다

 

 

1. Gemfile.lock 파일을 삭제한 후에 다음 명령으로 bundler 캐시를 지웁니다:

bundle clean --force

2. 다음으로 bundler를 업데이트합니다. 다음 명령을 실행하여 bundler를 최신 버전으로 업그레이드하십시오:

gem update bundler

3. Gemfile 파일에서 설치하고자하는, 혹은 오류가 나는 gem 의 버전을 원하는 버전으로 명시적으로 지정하세요. 예를 들어서

gem 'concurrent-ruby', '1.1.10'

4. 다시 bundle install 명령을 실행하여 종속성을 설치합니다:

bundle install

 

 

보통 다른 해결들을 보니 bundle clean --force 를 하지 않아 찌꺼기가 남아 몇 번을 Gemfile.lock 을 제거하고 다시 만들고 해도 소용이 없는 거였습니다. 저희는 이 방식으로 rails s 와 같은 rails 명령어가 먹히지 않던 것을 해결했습니다.

 

 

그럼에도 불구하고 문제가 지속되면 이런 조치를 고려해보세요

  • Ruby 버전을 업데이트하거나 변경하여 문제를 해결해보세요.
  • .rbenv 또는 다른 Ruby 버전 관리 도구를 사용하여 Ruby 환경을 관리하십시오.
  • Rails 프로젝트를 다른 디렉토리로 복제하여 문제를 해결해 보십시오.
반응형