sqlite3 (~> 1.3.6)을 활성화 할 수 없음, 이미 활성화 된 sqlite3-1.4.0
Ubuntu를 사용하고 db : migrate for ruby 프로젝트를 사용할 때 문제가 발생합니다.
rails aborted!
LoadError: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile.
/home/juan/odin_on_rails/RailsaAPP/bin/rails:9:in `<top (required)>'
/home/juan/odin_on_rails/RailsaAPP/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Caused by:
Gem::LoadError: can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile.
/home/juan/odin_on_rails/RailsaAPP/bin/rails:9:in `<top (required)>'
/home/juan/odin_on_rails/RailsaAPP/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:migrate => db:load_config
(See full trace by running task with --trace)
오늘도 스펙가 문제. 여기에 저에게 맞는. Michael의 접근 방식을 특권지만 오류가 발생했습니다.
그래서 대신에 오류가 발생했다고 생각한 보석을 제거했습니다. gem uninstall sqlite3 -v 1.4.0
대신 내 gem 파일에 사용됩니다. gem 'sqlite3', '~> 1.3.6'
을 (를) 실행 bundle update
하고 그것은 나를위한 매력처럼 작동했습니다.
다음과 같이 Gemfile에서 sqlite3 버전을 구성하는 오류를 해결했습니다.
gem 'sqlite3', '~> 1.3', '< 1.4'
sqlite3-1.3.6이 제대로 작동하지 않고 sqlite3-1.4가 지원되지 않는 것처럼 보 였는데 (이를 지원하지 않는 것처럼 보였고 제안하는 줄) 최신 1.3을 다운로드합니다. 제 경우에는 sqlite3-1.3.11입니다.
내 프로젝트에서 rails-5.0.0과 ruby-2.5.1을 사용하고 있습니다.
이 문제는 sqlite3 gem에 대한 버전 제한이있는 Active Record로 인해 발생합니다. 예를 들어, Rails 5.2.2 (이 응답을 작성하고 존재하는 최신 안정 릴리스)의 경우 ~> 1.3.6
. 그러나 제외되는 제약 조건은 gemspec에 지정되지 않고 어댑터 클래스를 포함하는 소스 파일 에 지정 됩니다. 결과적으로 Bundler는이를 인식하지 충돌하는 sqlite3 gem 버전 1.4.0을 설치합니다.
좋은 소식은 픽스가 이미
master 및 Rails 5.2 유지 보수 브랜치 (및 그 외 브랜치)에 병합 픽스가 이미 포함 되어 있다는 것입니다.지금은 다음 중 하나를 수행 할 수 있습니다.
- Gemfile에 sqlite3 제약 조건이 추가됩니다.
gem 'sqlite3', '~> 1.3.6'
- 라는 지점에서 Active Record를 설치합니다
5-2-stable
.
어떤 솔루션도 나를 위해 일하지 사고 오류를 추적하고 연결 어댑터를 찾았습니다.
위치 :
C:\Ruby\lib\ruby\gems\2.5.0\gems\activerecord-5.2.2\lib\active_record\connection_adapters\
파일 :
sqlite3_adapter.rb
변경
gem "sqlite3", "~> 1.3.6"
...에
gem "sqlite3", "~> 1.4.0"
내 웹 페이지를 새로 고쳤고 모든 것이 작동합니다 !!!
내 환경
Windows 10
Ruby : 2.5.3-p105
Rails: 5.2.2
시스템의 sqlite3 버전이 응용 프로그램에 적합한 버전과 다른 것입니다. 이 경우 앱의 gem 버전을 업데이트 할 수 있습니다.
bundle update sqlite3
또는 Gemfile에서 gem 버전을 변경하십시오.
gem 'sqlite3', '~> 1.4'
'ProgramingTip' 카테고리의 다른 글
Android- 문자열의 일부를 다른 URL로 바꾸는 방법은 무엇입니까? (0) | 2020.11.29 |
---|---|
편리한 정수 비교 기능 (0) | 2020.11.29 |
Python의 사용자 비활성화 인 시간 형식? (0) | 2020.11.29 |
mysql에 금액 저장 (0) | 2020.11.29 |
CSS : 이미지 링크, 마우스 오버시 변경 (0) | 2020.11.29 |