Невозможно установить 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"
==> Резюме
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/'
используйте варево, чтобы получить
postgresqlbrew 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как только вы это сделаете, повторите попытку установки драгоценного камня снова и, надеюсь, он будет работать для вас так же, как и для меня.
для меня, на 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-configsbundle 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 --installsudo 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'
Если после попытки все здесь он по-прежнему не будет установлен, попробуйте открыть 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