[오류 #1]
Couldn’t reserve space for cygwin’s heap 오류 발생시
1. Git 설치 후
- C:\Program Files (x86)\Git\bin>rebase.exe -b 0x50000000 msys-1.0.dll
- tasklist /m msys-1.0.dll
msys-1.0.dll 파일은 devkit 설치후 devkit\bin 폴더에 있다. 이 폴더의 파일을 rebase한다.
※ 참고 : http://morphys.tistory.com/entry/Windows에-Ruby-설치하기
[오류 #2]
lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10-x64-mingw32/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) 오류 발생시
gem install 'sqlite3'를 통해 기본적으로 설치되는 sqlite는 ruby 2.2 까지의 sqlite3_native.so 파일을
제공한다. 하지만, ruby 2.3 을 설치한후 rails server 를 실행하면 위와 같은 오류가 발생하는데,
이는 ruby 2.3 버전에 맞는 sqlite3_native 모듈을 설치해줘야 한다.
sqlite_native 모듈을 어디에서 찾는가 ? 그것은 바로 gem install 을 통해 sqlite3-static 버전을 설치하면 sqlite3 1.3.10의 기본 제공되던 sqlite3가 3.xx.xx 대로 설치가 된다.
sqlite3-static 설치법
SQLite3 bindings with embedded SQLite library.
Homepage: https://github.com/Instabridge/sqlite3-ruby-static
Platform: Rubygems
Language: C
License: BSD-3-Clause
View on registry: https://rubygems.org/gems/sqlite3-static
Documentation: http://www.rubydoc.info/gems/sqlite3-static/3.14.1
Install: gem install sqlite3-static
설치하고 나면
C:\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sqlite3-static-3.14.1\lib\sqlite3\sqlite3_native.so 파일을 아래 경로에 복사한다.
C:\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sqlite3-1.3.11-x64-mingw32\lib\sqlite3
sqlite3-static-3.14.1.gem sqlite3_native.so
위 모듈은 64비트 모듈이다. 32비트에 다운받아 넣으면 안된다. ㅠ.ㅠ
위 모듈을 다운받아 해당 경로에 넣어도 된다. ^^
복사가 끝나면 해당 프로젝트 폴더에서 rails server 를 실행한다.
http://localhost:3000 접속을 시도한다.
[오류 #3]
웹서버 실행(rails server) 후 오류시
Could not load 'active_record/connection_adapters/sqlite3_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile.
위 오류는 오류 #2 번을 해결하기 위해 구글링을 한 결과 다음과 같이 해결하라는 잘못된 검색결과에 따른 조치의 오류이다.
무슨 이야기 인가 하면,
오류 # 2번에 대해 구글링하면 다음처럼 조치하라고 나온다.
C:\Ruby23-x64\lib\ruby\gems\2.3.0\specifications\sqlite3-1.3.11-x64-mingw32.gemspec 파일을 열어서
s.require_paths = ["lib"] 이 부분을
s.require_paths = ["lib\sqlite3_native"] 로 바꾸라고 나오는데. 이는 잘못된 설정인 것이다.
gem 파일은 수정하지 않도록 원상복구 시킨다.
오류 #2와 오류 #3의 근본적인 문제는 ruby 2.3 에 대한 sqlite3 모듈이 지원이 안되었기 때문으로 보인다. 번거롭겠지만 sqlite3_static 을 설치해서 sqlite3_native.so 모듈을 추출하자.
기본 gem install sqlite3 로 설치되는 sqlite3 1.3.11 을 sqlite3 3.14.x 로 업그레이드 하는 법은 없을까?
ㅠ.ㅠ
'Ruby On Rails' 카테고리의 다른 글
CentOS 7 에서 RubyOnRails 설치하기 (0) | 2016.09.22 |
---|---|
윈도우에 RubyOnRails 설치하기(2016. 9.19. 기준) (0) | 2016.09.19 |
Ruby on Rails Server 세팅 방법 (0) | 2016.01.19 |
Windows에 Ruby 설치하기 (0) | 2016.01.19 |