Не могу установить pg gem в Windows - PullRequest
32 голосов
/ 02 декабря 2010

У меня есть 2 версии Ruby: 1.8.7 и 1.9.2 и PostgreSQL 8.3.Я не могу установить pg gem на любой из них.Получение этой ошибки:

C:/Development/Ruby187/bin/ruby.exe extconf.rb
checking for pg_config... yes
not recorded
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
 --with-opt-dir
 --without-opt-dir
 --with-opt-include
 --without-opt-include=${opt-dir}/include
 --with-opt-lib
 --without-opt-lib=${opt-dir}/lib
 --with-make-prog
 --without-make-prog
 --srcdir=.
 --curdir
 --ruby=C:/Development/Ruby187/bin/ruby
 --with-pg
 --without-pg
 --with-pg-config
 --without-pg-config
 --with-pg-dir
 --without-pg-dir
 --with-pg-include
 --without-pg-include=${pg-dir}/include
 --with-pg-lib
 --without-pg-lib=${pg-dir}/lib

Я знаю, что это распространенная проблема, но я не нашел никакого рабочего решения ... О, я добавил C: \ Program Files (x86) \ PostgreSQL \ 8.3\ bin к моему PATH.

Ответы [ 16 ]

1 голос
/ 28 декабря 2010

У меня была такая же проблема. Скорее всего, у вас есть путь к Perl до PostgreSQL. Наиболее распространенная установка perl для Windows имеет исполняемое имя pg_config в своей корзине, что вызывает конфликты.

pg v0.10.0 прекрасно устанавливается с rubyinstaller + devkit, если вы указываете пути без пробелов (например, C: / PROGRA ~) - иначе nmake chokes.

1 голос
/ 09 декабря 2010

Спасибо, Луис!pg 0.9.0 установлен просто отлично.

Для последней версии (0.10.0) вам нужен devkit и эта команда "gem install pg - --with pg-dir = path / to / your / postgresql/ dir "

Когда я оставляю дополнительные" - ", появляется сообщение об ошибке:" gem install pg --with-pg-dir = C: /postgresql/9.0 "

0 голосов
/ 19 февраля 2013

Я понял:

И ВОЛШЕБНЫЙ ТРИК:

is that you do not have this installed -- > postgres-devel

так что возьмите его:

install postgresql-devel

Это все ... чем просто установка самоцветаpg и вот оно.

0 голосов
/ 12 февраля 2012

Начиная с версии 0.13.0 гема pg, вы должны иметь возможность установить его, используя что-то вроде следующего:

subst X: "C:\Program Files\PostgreSQL\9.0"
gem install pg -- -- with-pg=X:
subst X: /D

Затем вы можете успешно запустить bundle install и увидеть следующеестрока в выводе:

Using pg (0.13.0)

вместо ошибок.

0 голосов
/ 07 октября 2011

PostgreSQL 9.0:

gem install pg --platform=mswin32 --version=0.9.0 -- '--with-pg="C:\Progra~1\PostgreSQL\"'

обратите внимание на инкапсуляцию в один тик.(~ 1 означает "Program Files", изменится на ~ 2, если PostgreSQL находится в Program Files (x86) на Win64)

0 голосов
/ 17 января 2011

Я столкнулся с той же проблемой. Я хотел получить доступ к базе данных postgres, используя dbi, и мне пришлось установить Pg. Мне потребовался день, чтобы успешно скомпилировать модуль с инструкциями, подобными другим постам этой темы. Но во второй раз, когда мне пришлось это сделать, я нашел другое решение: использовать ODBC.

  1. Установить драйвер ODBC для postgresql (http://www.postgresql.org/ftp/odbc/versions/)
  2. Настройка источника данных (http://www.xtuple.org/SettingUpPostgresAndOdbc)
  3. Установите камни ruby ​​dbi и odbc

    gem install dbi
    gem install ruby-odbc
    gem install dbd-odbc
    
  4. Подключение к postgres

    require 'dbi'
    dbh = DBI.connect('dbi:ODBC:DSN_NAME', 'USER', 'PASS')
    

Это сработало для меня, используя ruby ​​1.9.1 в Windows XP 32 bit. Кроме того, это ничего не меняет в вашем коде, кроме строки DBI.connect, если вы уже использовали DBI.

...