BLOG main image
분류 전체보기 (313)
교육 (13)
NEIS (6)
Edufine (0)
Programmer (5)
Android Programming (1)
Internet W3 (18)
JAVA Programming (9)
JSP/Servlet (1)
Framework (7)
Spring For Beginner (4)
eGovFrame (10)
MEAN Stack (2)
NodeJS (5)
SublimeText (30)
SublimeText_Tips (18)
Eclipse (16)
JavaScript (8)
jQuery (12)
jQuery_tips (1)
Ajax (3)
DWR(Direct Web Remote) (4)
JSON(JS Object Notation) (4)
Oracle (2)
MySQL (28)
OS (16)
Download (3)
Life (10)
Favorit Site (1)
Books (2)
Healthy (1)
Stocks (1)
HTML5/CSS (1)
Python (4)
Security (7)
CISSP (0)
Ruby On Rails (5)
일기장 (0)
영어 교과서(중2) (3)
알고리즘 (0)
Go Lang (3)
VB 2010 (12)
C# (1)
정보보안기사(네트워크보안) (0)
업무 활용 엑셀 (11)
틈틈이 활용팁 (14)
하루 하루 살아가며 ……. (2)
기술 (1)
파이썬 & 데이터분석 (1)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2016. 9. 13. 17:08

[오류 #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 로 업그레이드 하는 법은 없을까?

 

ㅠ.ㅠ

 

 

 

반응형