developer tip

Ruby on Rails 오류 처리 방법 :“postgresql 어댑터를 설치하십시오 :`gem install activerecord-postgresql-adapter '”

optionbox 2020. 12. 3. 07:47
반응형

Ruby on Rails 오류 처리 방법 :“postgresql 어댑터를 설치하십시오 :`gem install activerecord-postgresql-adapter '”


RoR (Ruby on Rails) 앱 또는 ActiveRecord 프레임 워크를 사용하는 Ruby 코드를 실행하면 다음 오류 메시지가 표시됩니다.

postgresql 어댑터를 설치하십시오 : gem install activerecord-postgresql-adapter

실행 시도 :

gem install activerecord-postgresql-adapter

또한 실패하여 손실에 처하게됩니다.


문제는 누군가가 쓴 것이 아닙니다. 문제는 GEM의 이름이 "pg"이지만 postgresql 데이터베이스 어댑터의 이름이 "postgres"가 아니라 "postgresql"이라는 것입니다.

database.yml 파일의 정의에는 다음이 포함되어야합니다.

  adapter: postgresql

다음은 Heroku에서 얻은 답변이며 나를 위해 일했습니다 (다른 10 개의 게시물에서 다른 pg gem, 어댑터 및 기타 모든 것을 시도한 후)

1) Gemfile에 gem 'pg'줄을 추가하십시오.

2) 번들 install 명령을 실행하여 번들에 gem을 설치합니다.

3) Gemfile 및 Gemfile.lock 변경 준비 : git add Gemfile Gemfile.lock

4) 변경 사항을 커밋합니다 : git commit -m "Install the pg gem"

5) heroku로 재배포 : git push heroku master


이것은 새로운 'pg'postgresql 라이브러리가 설치되어 있지 않다는 것을 의미합니다. 이것은 다음과 같이 쉽게 해결됩니다.

sudo gem install pg

나는 (Dov) 웹에서 GEM_HOME을 설정하고 ~ / .gem / ruby ​​/ vers / bin을 PATH에 추가하는 방법을 설명하는 다른 솔루션을 찾았지만 작동하지 않았습니다. 위의 솔루션은 Mark Mansour가 그의 블로그 State of Flux ( http://stateofflux.com/2008/7/13/activerecord-postgresql-adapter-in-rails-2-1/) 에서 제공했습니다.


이 오류를 유발할 수있는 깊이 숨겨진 조건이 하나 더 있습니다.

로컬 환경 변수 DATABASE_URL = postgres : // mehmehmeh 세트가있는 경우 일부 gem (Heroku가 의심됩니다)은 앱이 구성에없는 경우에도 Postgres가 필요하다고 생각하게합니다. 그 환경 변수를 죽이면 괜찮을 것입니다.


database.yml 환경 db가 올바른지 확인하십시오. postgresql 인 경우 mysql2 또는 주어진 환경에서 사용하는 db를 참조하도록 변경해야 할 수 있습니다.


당신은 이것을 시도 할 수 있습니다

데비안에서 (squeeze) :

aptitude install libdbd-pg-ruby

sudo apt-get install ruby1.8-dev

그때...

gem 설치 pg

나를 위해 일했습니다!


railsonpostgresql.com 에서 Ruby + PostgreSQL 데이터베이스 드라이버의 현재 상태에 대해 간략히 살펴 보았습니다 . sudo gem install pg아마 당신이 원하는 것 같아요 .


다른 검색 결과를 시도하면서 여러 개를 설치했습니다. 마침내 내 환경에서 "postgresql 어댑터를 설치하십시오 : gem install activerecord-postgresql-adapter"라는 메시지로 불평을 멈추게 된 이유는 다음과 같습니다.

  • 다음과 같이 어댑터와 관련된 모든 gem을 제거했습니다. sudo gem uninstall activerecord-jdbc-adapter; sudo gem uninstall activerecord-jdbcpostgresql-adapter; sudo gem uninstall activerecord-postgresql-adapter; sudo gem uninstall jdbc-postgres;

  • 또한 Gemfile 내에서 다음과 같이 어댑터에 대한 참조를 제거했습니다. gem 'activerecord-jdbcpostgresql-adapter'

  • pg (0.15.1) 만 설치된 상태로 둡니다 (pg의 존재를 확인하려면 "gem list"수행).

그런 다음 "rake db : create"실행이 작동합니다. 그래서 나는 pg가 최신이고 작동한다고 생각합니다. 그러나 다른 깨진 어댑터 보석이 주변에있을 때는 사용되지 않습니다.

참고 URL : https://stackoverflow.com/questions/1664364/how-to-handle-ruby-on-rails-error-please-install-the-postgresql-adapter-gem

반응형