루비 공부중입니다 SQlite 설치시 에러에 대한 질문드립니다. 도와주세요~

98 views
Skip to first unread message

현종훈

unread,
Sep 3, 2014, 12:01:06 AM9/3/14
to rub...@googlegroups.com

안녕하세요 루비를 공부하고 있는 루비초보입니다.
코드스터디라는 강의를 통해 공부를 하고 있는데요...
AWS(Amazon Web Service)로 웹서버를 구축하고 Putty를 통해 콘솔에서 필요한 프로그램을 인스톨 하고 있습니다.
그리고 FTP는 WinSCP를 쓰고 있습니다.

코드스터디 수업에서는 rails를 사용하지 않고 sinatra를 사용하고 있구요.
서버프로그램도 SQlite를 설치하도록 가르치고 있습니다.
그런데 SQlite 설치시 자꾸만 이상한 에러가 나네요...

첨부한 이미지를 보시면 좌측은 수업내용이구요. 오늘쪽은 저의 콘솔입니다.
동영상 내용에 있는대로 똑같이 따라하고 있는데도 SQlite 인스톨하고 루비를 실행하면 에러가 나네요...
수업에서는 dm-sqlite-adapter가 없으니 설치하라고 나오는데요.
제꺼에서는 dm-sqlite3-adapter가 없다고 나오네요.
그래서 gem install dm-sqlite3-adapter를 해보면
ERROR:  Could not find a valid gem 'dm-sqlite3-adapter' (>= 0) in any repository
이렇게 나옵니다.
이미 dm-sqlite-adapter는 설치를 한 상태이구요...
이놈의 dm-sqlite3-adapter는 도대체 왜 생기는걸까요...?
어디서 문제를 해결해야 할지 모르겠습니다....

안타까운 루비초보에게 도움의 손길 부탁드립니다...ㅠㅠ

Chulki Lee

unread,
Sep 3, 2014, 7:47:21 PM9/3/14
to rub...@googlegroups.com
메시지를 보면 dm-core gem (version 1.2.1) 의 lib/dm-core/adapters.rb 163번째 줄에서 require 를 했고 여기에서 dm-sqlite3-adapter 를 load 하려고 한 것을 알 수 있습니다.

직접 해당 파일을 열어봐도 좋고, 그 것이 여의치 않은 경우에는 소스를 직접 따라갑니다. 이 경우

- source 링크에 있는 github repo로 이동
- 찾고 있는 버전 (1.2.1) 에 해당하는 tag 를 찾음 - 어째서인지 없어서 그냥 1.2.1 브랜치 선택.
- 해당 파일로 이동해서 163번째 줄 찾음

여기에서 보면 adapter name 이 동적으로 넘겨지는 것을 알 수 있고, call stack 을 쭉 따라가면 DataMapper.setup 을 부를 때 adapter 이름을 넘겨주는 것을 알 수 있습니다. 그 곳에서 sqlite 가 아닌 sqlite3 를 부르고 있는 것으로 보이는군요.

또 다른 방법: sqlite 가 sqlite3 으로 바뀌었으므로, 어디선가 sqlite을 넘길 곳을 sqlite3 을 넘기고 있다는 것을 추측해볼 수 있습니다. 그러므로 어플리케이션 코드에서 sqlite3 을 찾고 거꾸로 추적하는 방법도 있습니다.
Reply all
Reply to author
Forward
0 new messages