2010-12-23 3 views
0

마침내 보석을 설치해야합니다. 이제 데이터베이스를 마이그레이션 할 때 다음을 얻었습니다.rake db : migrate postgreSQL

$ rake db:migrate 
(in c:/rubyDev/bsbaslic) 
rake aborted! 
no such file to load -- 1.9/pg_ext 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/pg-0.10.0/lib/pg.rb:10:in `require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/pg-0.10.0/lib/pg.rb:10:in `<top (required)>' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `block (2 levels) in require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `each' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `block in require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `each' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler.rb:112:in `require' 
c:/rubyDev/bsbaslic/config/application.rb:7:in `<top (required)>' 
<internal:lib/rubygems/custom_require>:29:in `require' 
<internal:lib/rubygems/custom_require>:29:in `require' 
c:/rubyDev/bsbaslic/Rakefile:4:in `<top (required)>' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2373:in `load' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:1991:in `run' 
c:/Ruby192/bin/rake:31:in `<main>' 

누구에게 어떤 정보가 있습니까? pg.rb와 같은 디렉토리에 pg_ext.so 파일이 있습니다.

+0

어떤 버전의 Postgres gem (pg)을 실행하고 있습니까? – BryanH

답변

1

Windows 프로그램에서 .so 파일을로드 할 수 없습니다. 대신 .dll 개의 파일을로드합니다. Windows 용으로 컴파일 된 pg 빌드가 필요하거나 msys 또는 cygwin과 같은 Linuxy 환경에서 Ruby를 실행해야합니다.

+0

msys에서 실행 중입니다. 일반 명령 프롬프트에서 "gem install pg"를 사용할 수 없습니다. 다른 아이디어? – seehad

+0

"gem install"을 실행하면 구체적으로 어떤 일이 발생합니까? 질문에 추가하십시오. – BryanH

1

문제는 귀하의 pg gem 버전에 있습니다. windows pg 0.9.0을위한 특별한 버전이 있습니다. 다음과 같이

  1. 현재 페이지 0.10.0
  2. 페이지를 설치 제거 : 은이하기 위해이 창을 workingon 보석 설치 페이지 --version = 0.9.0 - --with-PG- 설정 =/짧은/경로 /로/postresql/빈

  3. (당신은 단순히 PostgrSQL 빈 디렉토리로 변경 한 다음, 그것을보기 자동 짧은적인 버전으로 경로를 변경합니다 cmd를 명령을 입력 할 수 있습니다 짧은 경로를 얻으려면)

    그런 다음 프로젝트 Gemfile을 수정하여 올바른 것을 사용하십시오 pg 보석 버전 (0.9.0)

그리고 그게 전부입니다.

행운을 빌어 요

+0

10 개월 후에는 최신 버전을 사용해야합니까? 나는 pg와 activerecord-postgis-adapter가 필요하다. activerecord-postgis-adapter는 최소한 0.10.0을 필요로합니다. – fooquency

관련 문제