rails & libpq-dev dependências desagradáveis

12

Eu não sei se esta pergunta pertence aqui, mas vou tentar. Oi. Estou executando o Ubuntu 11.10 dual-boot com o Windows Vista na minha máquina. No Ubuntu, eu instalei o RVM, rails gem, & amp; PostgreSQL (o servidor postgres, cliente, e outros pacotes como libpq5, porque eu instalei através do Centro de Software).

Estou tentando implantar meu aplicativo no heroku, mas parece que preciso instalar o pg gem. Tentei instalá-lo, mas recebi este erro:

  

ERRO: falha ao criar extensão nativa de gem.

     

/home/pcr/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb verificando pg_config ... yes

     

Usando valores de configuração de   / usr / bin / pg_config

     

Você precisa instalar o postgresql-server-dev-X.Y para   construindo uma extensão do lado do servidor ou libpq-dev para construir um   aplicação do lado do cliente. Você precisa instalar o postgresql-server-dev-X.Y   para construir uma extensão do lado do servidor ou libpq-dev para construir um   aplicação do lado do cliente.

     

verificando libpq-fe.h ... * extconf.rb   falhou *

Depois de pesquisar no Google & amp; stackoverflow por um tempo, muitas pessoas disseram que o libpq-dev tem que ser instalado. Eu tentei, via centro de software, mas não faço para dependências não atendidas. Eu tentei via apt-get, ele disse que eu preciso de libkrb5-dev e krb5-multidev. Eu tentei sudo apt-get install libpq-dev libkrb5-dev krb5-multidev e consegui isto:

  

Os seguintes pacotes possuem dependências não atendidas: krb5-multidev:

     

Depende: libkrb5-3 (= 1.9.1 + dfsg-1ubuntu1) mas 1.9.1 + dfsg-1ubuntu2.1   é para ser instalado

     

Depende: libk5crypto3 (= 1.9.1 + dfsg-1ubuntu1) mas 1.9.1 + dfsg-1ubuntu2.1 deve ser instalado

     

Depende: libgssapi-krb5-2 (= 1.9.1 + dfsg-1ubuntu1) mas 1.9.1 + dfsg-1ubuntu2.1 deve ser instalado E: Incapaz de corrigir problemas, você realizou pacotes quebrados.

Mas eu já tenho libkrb5-3, libk5crypto3 e libgssapi-krb5-2 (todos com a versão 1.9.1 + dfsg-1ubuntu2.1) no meu sistema! Eu acho que talvez a versão necessária seja 1.9.1 + dfsg-1ubuntu1. Então, talvez eu tenha que remover os pacotes 1.9.1 + dfsg-1ubuntu2.1 primeiro. Você acha que é seguro para mim removê-lo? Tentei remover um deles, mas o software center me avisa que também removerá postgres, openssl-client, smbclient, cups e muitos outros pacotes.

O que devo fazer para resolver isso? E, é pg gem realmente necessário para ser instalado na minha maquina local para criar app rails com postgres como dbms? Existe uma maneira de "entregar" a responsabilidade de incluir pg gem em heroku?

    
por PatrixCR 19.02.2012 / 06:32

2 respostas

8

A solução real é, como corretamente apontada por Amit Patel , para instalar libpq-dev

Aqui está uma solução alternativa se você não conseguiu configurar o pg na sua máquina de desenvolvimento. Você pode usar o sqlite em sua máquina local e pg em Heroku. Aqui está o que você deve ter em seu Gemfile

group :production do
  gem 'pg'
end

group :development, :test do
  gem 'sqlite3'
end

E use este comando para instalar o pacote para ignorar as gemas de produção:

bundle install --without production

Por favor, tenha em mente que não ter o mesmo ambiente em máquinas de produção e desenvolvimento não é recomendado.

    
por Arash Badie Modiri 19.02.2012 / 09:48
32

Eu tenho o mesmo problema hoje. Eu segui a mensagem Você precisa instalar o postgresql-server-dev-X.Y para construir uma extensão do lado do servidor ou o libpq-dev para construir uma aplicação do lado do cliente. Então, instalei o aplicativo libpq-dev e bundle rails novamente e o erro desapareceu.

$ sudo apt-get install libpq-dev
$ bundle install
    
por Amit Patel 30.08.2012 / 08:08