Невозможно установить PG gem На мой mac с Mavericks



Я пытаюсь установить PG gem, чтобы снова работать с моими проектами rails. Но я получаю эту ошибку:




строительство собственных расширений. Это может занять некоторое время... Ошибка: Ошибка
установка pg: ошибка: не удалось создать собственное расширение gem.



/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If


здание терпит неудачу, пожалуйста, попробуйте еще раз с
--с помощью-pg-config=/path/to/pg_config проверка libpq-fe.ч... нет не могу найти ' libpq-fe.заголовок ч
* extconf.РБ не * не может создать Makefile по какой-то причине, вероятно, не хватает необходимых библиотек и/или заголовков. Проверять
на mkmf.файл журнала для получения более подробной информации. Вам может понадобиться настройка
опции.



предоставленные параметры конфигурации: --с-opt-dir --без-opt-dir
--с-опт-включают в себя-без-отказа включить=${опт-реж}/включать
--с-опт-Либ-без-опт-Либ=${опт-реж}/lib с-С-сделать-прог
-- без-make-prog --srcdir=. -- творог
-- ruby= / Users / jeanosorio/.rvm / rubies / ruby-2.0.0-p247 / bin / ruby
--с-ПГ-без-пг-с-ПГ-конфиг-без-ПГ-конфиг
--с-pg_config --без-pg_config --с-pg-dir
-- без-pg-dir --с-pg-include
--без-pg-include=${pg-dir} / include --with-pg-lib
-- без-pg-lib=${pg-dir}/



файлы Gem останутся установленными в
/ Пользователи / jeanosorio/.РВМ/рубины/на Ruby-2.0.0-p247/lib в/Рубин/драгоценные камни/2.0.0/драгоценные камни/стр-0.17.0
для осмотра. Результаты журнал
/ Пользователи / jeanosorio/.РВМ/рубины/на Ruby-2.0.0-p247/lib в/Рубин/драгоценные камни/2.0.0/драгоценные камни/стр-0.17.0/ВН/gem_make.вон




Я пробовал все, что я нашел на stackoverflow, но я все еще получаю эту ошибку.



Если я попытаюсь установить postgresql с помощью brew, я получу следующий waring:




Внимание: postgresql-9.2.4 уже установлен, он просто не связан




Если я попытаюсь связать




brew link postgresql Linking /usr/local/Cellar/postgresql / 9.2.4...
Предупреждение: не удалось связать postgresql. Расцепляющее...



ошибка: не удалось создать символическую ссылку на файл:
/usr/local/Cellar/postgresql/9.2.4/share/man/man7 / WITH.Семь
/usr / local/share/man / man7 не доступен для записи. Вы должны изменить его
разрешения.




Помогите Пожалуйста



примечание: Я уже установил инструменты командной строки для mavericks.





Если я удалю с помощью homebrew и попытаюсь установить снова, я получу это ошибка:




== > загрузка http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2



################################################################## 100.0%

==> ямочный ремонт ямочный файл src/ПЛ/plpython/Makefile и исправление файлов ВНО/идентификатор UUID-ОССП/идентификатор UUID-ОССП.с
==> ./настроить --префикс=/usr/местные/погреб/PostgreSQL и/9.2.4 --переменной datadir=/usr/местные/погреб/PostgreSQL и/9.2.4/доля/в PostgreSQL --docdir=/usr/местные/погреб/п
==> делать установка-мир
= = > Предостережения



Создать Примечания



Если сборки PostgreSQL 9 не работают, и у вас есть версия 8.икс
после установки может потребоваться сначала удалить предыдущую версию. См:
https://github.com/mxcl/homebrew/issues/issue/2510



создать/обновить базу данных



Если это ваша первая установка, создайте базу данных с помощью: initdb
/usr / local/var / postgres-E utf8



для переноса существующие данные из предыдущей версии (до 9.2) из
PostgreSQL, см.:
http://www.postgresql.org/docs/9.2/static/upgrading.html



Расширения Загрузки



по умолчанию Homebrew создает все доступные расширения Contrib. Увидеть
список всех доступных расширений, из командной строки psql в команду:

Выберите * из pg_available_extensions;



загрузить любое из имен расширений, перейдите к нужному база данных
и запустить: создать расширение [имя расширения];



например, чтобы загрузить расширение tablefunc в текущую базу данных,
выполнить: создать расширение tablefunc;



дополнительные сведения о команде CREATE EXTENSION см. В разделе:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html ибо
дополнительные сведения о расширениях см. В разделе:
http://www.postgresql.org/docs/9.2/static/contrib.html



другое



некоторые машины могут потребовать подготовки общего доступа memory:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC
При установке postgres gem, в том числе ARCHFLAGS рекомендуется:
ARCHFLAGS=" - arch x86_64 " gem install pg



чтобы установить gems без sudo, см. Homebrew wiki.



чтобы launchd запускал postgresql при входе в систему:
ln-sfv / usr/local/opt/postgresql/*.plist ~ / Библиотека / LaunchAgents затем загрузить postgresql сейчас:
launchctl load ~ / Library/LaunchAgents / homebrew.mxcl.postgresql.plist или, если вы не
хотите / нужно launchctl, вы можете просто запустить:
pg_ctl -D в /usr/местные/ВАР/и Postgres -л в /usr/местные/ВАР/сервер/сервера.предупреждение о запуске журнала: не удалось связать
postgresql. Расцепляющее... Ошибка:brew link шаг не полный
успешно построена формула, но не связана с / usr / local
Вы можете попробовать еще раз, используя "brew link postgresql"
==> Резюме


605   27  

27 ответов:

если вы хотите избежать использования MacPorts, вы можете скачать Сервер Приложений и поместите его в каталог приложений.

затем укажите местоположение вновь загруженного pg_config:

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config

если вы столкнулись с проблемой отсутствующих заголовков, попробуйте указать приложения:

gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/'

используйте варево, чтобы получить postgresql

brew install postgresql

проверьте, что у вас есть pg_config в установленном brew. Я нашел свой в

/usr / local / Cellar / postgresql / 9.3.3 / bin / pg_config

регистрация через :

$ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
> /usr/local/Cellar/postgresql/9.3.3/bin/pg_config

после этого, установить pg камень с

env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config

Я не смог установить postgres через MacPorts. Вместо этого я установил Postgress.приложение. и позвал

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

Примечание: в более новых версиях (по крайней мере, в 9.3) путь на самом деле:/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

вот еще одна альтернатива, если вы хотите использовать установщик postgresql напрямую. Есть несколько обручей, которые вы должны перепрыгнуть, чтобы начать с обновления до mavericks. Вот что я сделал:

Сначала установите инструменты командной строки xcode:

xcode-select --install

скачать и установить последнюю версию PostgreSQL (9.3.1), в моем случае я просто использовал графический установщик. Вот ссылка на страницу загрузки:

http://www.enterprisedb.com/products-services-training/pgdownload#osx

просто выберите все по умолчанию он дает вам. В моем случае он установил postgres в следующий каталог, если вы установили его в другой каталог, просто запомните путь, который вы выбрали, потому что он вам скоро понадобится.

/Library/PostgreSQL/9.3

если вы сейчас попытаетесь установить последнюю версию PG gem (0.17.0), вам нужно будет передать несколько параметров в командной строке. Вот что я использовал:

ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config

если вы установили postgres в другое место, то вам нужно будет исправить путь к pg_config файл.

если он жалуется на отсутствие ' libpq.5.файл dylib ' при попытке установить PG gem вам нужно будет создать символическую ссылку, указывающую на фактическое местоположение этого файла. Postgres ищет его в вашем каталоге/usr/local/ lib/, поэтому создайте там символическую ссылку и перенаправьте ее на свое фактическое местоположение. В моем случае мне пришлось бежать:

sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib

как только вы это сделаете, повторите попытку установки драгоценного камня снова и, надеюсь, он будет работать для вас так же, как и для меня.

Если у вас есть домашнее пиво, просто введите:

$ brew install postgresql

для меня, на Yosemite, мне не нужно указывать pg_config путь. Следующее было сделано.

brew install postgresql
sudo env ARCHFLAGS="-arch x86_64" gem install pg

похоже, что флаг архитектуры является ключевым.

в моем случае (мне нужен PG 0.16.0 на Mavericks), я установил postgresql через MacPorts

sudo port install postgresql90

а то

gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config

для последней версии вам нужно вычесть -v '0.16.0'

gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config

Если у Вас установлен Homebrew, не устанавливайте MacPorts перед вами читайте об их сосуществовании

место недостающая --with-pg-config в конфигурационном файле Bundler:/Users/<your_user>/.bundle/config чтобы сделать вашу жизнь проще.

---
BUNDLE_BUILD__PG: --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
BUNDLE_BUILD__EXAMPLE_GEM: --other-configs
BUNDLE_BUILD__OTHER_EXAMPLE_GEM: --other-configs
выполнить bundle install еще раз.

это работает для меня! (Postgres 93, mac ox 10.9.1) 1. скачать @ http://postgresapp.com/ и

gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config

Я застрял на моем комплекте установки в течение 3 дней. Пробовал все, как добавление env ARCHFLAGS=" - arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.5_1/bin / pg_config

Я смог увидеть, как PG gem устанавливается после этой команды, но все же он не устанавливался из bundle install, что было больно, потому что я не знаю, что писать в Gemfile, кроме gem 'pg'

то, что, наконец, сработало для меня должен был найти, что мой pg_config был в / Library / PostgreSQL/9.3/bin / pg_config и по умолчанию пакет Gemfile bundle install выглядит в /usr / local/bin / pg_config

Я просто запустил следующую команду, и магия произошла. пакета конфигурации построения.пг-с-ПГ-конфиг=/библиотека/в PostgreSQL/9.3/ОГРН/команду pg_config

в моем случае это не сработало, если вы не укажете флаги arch, OS X 10.10.3 и postersApp 9.4

sudo env ARCHFLAGS="-arch x86_64" gem install pg -- \--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

вот что он работал для меня:

gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config

в моем случае я удалил версию, установленную через homebrew, и переключился на Postgres.приложение (v9.3.4.2 на момент написания статьи).

казалось, что это работает только при добавлении флагов архитектуры среды и указании пути к pg_config. Ваш пробег может варьироваться, так ответ могу помочь с вариациями на pg_config ' s расположение.

вот последняя, полная команда, которая работала для меня:

env ARCHFLAGS="-arch x86_64" gem install pg -- \
--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 

судо ARCHFLAGS="-Арч x86_64 с" жемчужиной установите пг -- --с-ПГ-конфиг=/usr/местные/Бен/команду pg_config

самый простой способ для меня, чтобы решить это, чтобы использовать Postgres.приложение и настроить мой env vars так gem install pg просто работает (вместо того, чтобы требовать --with-pg-config флаг).

используя Бочонок Домашнего Пива,

brew cask install postgres
echo 'export PG_HOME=/Applications/Postgres.app/Contents/Versions/latest' >> ~/.bash_profile
echo 'export PATH="$PATH:$PG_HOME/bin"' >> ~/.bash_profile
source ~/.bash_profile

# now it just works
gem install pg

я получал ту же ошибку при запуске bundle install относительно PG gem (используя Mac OS X Mavericks). После нескольких часов исследований, я нашел решение. Я установил postgres с помощью homebrew

brew install postgres

после установки этого я создал новое приложение rails с помощью postgres. Я побежал

bundle install

безрезультатно (получил ту же ошибку, что и вопрос). Я использовал

which psql

чтобы выяснить, где был установлен мой postgres, он вернулся

/usr/local/bin/psql

перед запуском bundle install снова мне пришлось изменить глобальный путь на build.pg запустив следующее

bundle config build.pg --with-pg-config=/usr/local/bin/pg_config

затем я снова запустил установку пакета и вуаля! Я использовал postgres, где brew установил его.

на OS X Mavericks с последним приложением Postgres выполните следующие действия с привилегиями sudo

env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

то, что работало для меня на 10.9.3 с Xcode 5.1.1 было следующим:

brew update
brew install postgresql 
gem install pg -v '0.17.1'

Мне нужен pg 0.17.1

для любой потерянной души там все еще есть эта проблема без разрешения и есть brew установлен Рубин и postgres. Вот следующие шаги, чтобы убедиться:

  • убедитесь, что ваша версия ruby не был установлен с --universal флаг.
    • это было труднее всего понять, у меня было --universal, который был последним корень проблемы.
  • убедитесь, что у вас есть инициализировано postgresql С initdb и createdb команды (искать шаги, чтобы сделать это).
  • убедится Xcode (опционально) и command line tools установлен; на терминале:
    • xcode-select --install
    • sudo xcodebuild -license (если установлен Xcode) или откройте приложение и примите лицензионное соглашение.
    • Перезагрузите Компьютер
  • which ruby,which gem и which postgres должны показать /usr/local/bin/ruby,/usr/local/bin/gem и /usr/local/bin/postgres с уважением.
  • на терминале выполните:

    • gem install pg -- --with-pg-config=/usr/local/bin/pg_config
    • или
    • env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
  • убедившись, что все эти шаги удовлетворены, я смог решить следующие ошибки:

    • ruby.h заголовок
    • developer tools installed first

Я был с той же проблемой, это решение я нашел.

если вы запустите brew doctor, Он скажет вам, что, вероятно, вы установили что-то без brew, которые изменили разрешения на некоторые папки, и поэтому вам нужно изменить разрешения обратно к вам в этой папке.

внутри /usr/local/share/man, вы можете сделать следующее:

sudo chown [yourusername] man7

и затем:

brew link postgres

надеюсь, что это помогает!

аналогично, после установки Mavericks 'bundle update' была вызвана ошибка на PG gem, которая используется только на производстве, а не локально.

Я использую Brew для управления своими пакетами, и postgresql уже был установлен, но все же я получал ошибку "no pg_config".

исправление было просто заварить удалить с PostgreSQL', затем 'варево установить PostgreSQL'. После чего я сразу же смог успешно запустить 'bundle update'

sudo su 

затем

ARCHFLAGS="-arch x86_64" gem install pg -v '0.18'

работал на 10.10.2

Если после попытки все здесь он по-прежнему не будет установлен, попробуйте открыть Xcode и принять лицензионное соглашение.

для меня, сообщение об ошибке выглядит так:

Installing pg 0.18.4 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

...

checking for pg_config... no

No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config

как показывает сообщение об ошибке, он пытается выполнить команду / скрипт "pg_config". Поэтому просто добавьте его в путь, где бы ни была установлена ваша установка Postgres. В моем случае, я сделал:

export PATH=/Applications/Postgres.app/Contents/Versions/9.5/bin:$PATH

затем

bundle

вот и все.

в первую очередь найти место команду pg_config

sudo find / -name "pg_config" -print

ответ /Library / PostgreSQL/9.1/bin / pg_config в моей конфигурации (MAC Maverick)

затем попробуйте установить что-то вроде ниже

камень установить пг -- --с-ПГ-конфиг=/библиотека/в PostgreSQL/9.3/ОГРН/команду pg_config

если это не поможет, то попробуйте проверить, каким образом вы установили PostgreSQL

brew / mac port / setup

тогда вы должны попробовать соответствующую опцию к тому же.

спасибо.

Ram

Postgres работал и для меня. (Postgres 93, mac ox 10.9.1) 1. скачать @ http://postgresapp.com/ а потом

gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config

это действительно важно, чтобы убедиться, что вы получите номер версии прямо в имени папки Postgres.

кроме того, я попробовал это исправление в другом приложении, и я продолжал получать ошибку, которая хотела конкретную версию PG (в моем случае 0.16.0), поэтому мне пришлось добавить-v '0.16.0' к моей команде.

Postgres 9.4:

gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/Versions/9.4/bin/pg_config

Comments

    Ничего не найдено.