Instalacja PG gem na OS X-nie udało się zbudować natywnego rozszerzenia

Wydaje się, że wielu innych miało problemy z instalacją PG gem. Żadne z rozwiązań postawionych innym nie zadziałało dla mnie.

Próbowałem zainstalować PG gem i postgres.app. PG gem nie zainstaluje się. Pierwszy błąd jaki dostaję to:

Wystąpił błąd podczas instalacji pg (0.17.0) i Bundler nie może kontynuować. Upewnij się, że gem install pg -v '0.17.0' powiedzie się przed połączeniem.

Porada instalacji o wskazaniu mojej instalacji gem do konfiguracji dla pg nie powiodła się z następującym błędem wiadomość (z którą zetknęło się wielu innych na tym forum):

Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out

Nie wiem, jak znaleźć lub uzyskać dostęp do tego pliku dziennika, aby szukać dalszych wskazówek.

Podczas próby użycia polecenia sudo apt-get install pojawia się również komunikat o błędzie (polecenie nie zostało znalezione). Przeglądałem to forum przez ostatnie 6 godzin, próbując każdej porady, aby PG współpracowało z moim projektem rails.

Nie mogę znaleźć rady, jak zmienić ścieżkę, a konkretnie, jaka zmiana jest wymagana. Moje which pg_config zwraca źródło pliku. Użyłem tego z poleceniem, aby zainstalować pg używając tego config. Zawiedzie.

Jest tak wielu ludzi, którzy mieli z tym problem. Wiele odpowiedzi sugeruje homebrew. Musiałem to usunąć, bo wyrzuciło inne problemy.
Author: Victor, 2013-10-09

12 answers

Ten sam błąd dla mnie i nie doświadczyłem go, dopóki nie pobrałem OS X 10.9 (Mavericks). Westchnienie, kolejny upgrade systemu operacyjnego.

Oto Jak to naprawiłem (z homebrew):

    Xcode-narzędzie do tworzenia kodu Xcode, które jest używane do tworzenia kodu Xcode.]}
  • brew update
  • brew install postgresql
Potem zadziałało dla mnie.
 394
Author: shicholas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-03 14:19:26

Jeśli używasz Ubuntu spróbuj zainstalować następujący plik lib

sudo apt-get install libpq-dev

A następnie

gem install pg

Zadziałało dla mnie.
 216
Author: sandesh kota,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-11 17:46:29

Używam OS X Mavericks (Wersja 10.9)

I po uruchomieniu powyższego otrzymałem następujący komunikat: jeśli buildy PostgreSQL 9 zawodzą i masz wersję 8.x Zainstalowany.

Więc uruchamiam następujące polecenie:

ARCHFLAGS="-arch x86_64" gem install pg

I to mi pomogło, mam nadzieję, że komuś to pomoże:)

 49
Author: Jon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-27 18:09:47

Ok też miałem ten problem (psql to v 9.3.0 a ruby to v 2.1.2) i rozwiązaniem, które mi się udało było najpierw ustawić ustawienia konfiguracji pakietu:

bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

Ta odpowiedź w końcu pomogła mi to rozgryźć: https://stackoverflow.com/a/9235107/3546680

 39
Author: paninapress,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:03:01

Próbowałem wszystkiego godzinami, ale poniższy w końcu to naprawił (jestem na OS X 10.9.4):

  1. Install Xcode command line tools (Apple Developer site)
  2. brew uninstall postgresql
  3. brew install postgresql
  4. ARCHFLAGS=" - arch x86_64 " gem install pg
 21
Author: Ali Yazdani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-26 07:57:46

Podobnie, po zainstalowaniu Mavericks bundle update został wyrzucony błąd na pg gem, który jest używany tylko na produkcji, a nie lokalnie.

Używam Brew do zarządzania moimi pakietami i postgresql był już zainstalowany, ale nadal otrzymywałem błąd 'no pg_config'.

Poprawką było po prostu brew uninstall postgresql, Potem brew install postgresql. Po czym od razu udało mi się uruchomić bundle update.

 6
Author: Shannon Perkins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-22 17:36:25

Easy step

  1. brew install postgresql
  2. gem install pg -v 'your version'
 6
Author: James Dela Cruz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-12 01:45:06

Uważam, że "poprawną" odpowiedzią byłoby najpierw prawidłowe skonfigurowanie ścieżki dla Postgres.aplikacji, dodając do ~/.profile (.zshrc lub ~/.zprofile w przypadku stosowania ZSH):

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

Następnie otwórz nową kartę lub okno w terminalu i zainstaluj gem pg za pomocą:

ARCHFLAGS="-arch x86_64" gem install pg

Udokumentowane tutaj:

 4
Author: Matias Korhonen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-31 08:34:24

Na OSX z zainstalowanym Postgresem w / Applications, po prostu uruchamiam następujące polecenie (Zmień 0.20 & 9.4 zgodnie z twoją wersją)

gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

Powinieneś mieć:

Budowanie natywnych rozszerzeń z: '--with-pg-config= / Applications / Postgres.app/Contents/Versions/9.4/bin / pg_config" To może chwilę potrwać... Pomyślnie zainstalowany pg-0.20.

 4
Author: Jean-Baptiste Heren,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-24 14:08:44

Spędziłem nad tym dzień i oto jak to naprawiłem:

Odkryłem, że globalna wartość build.pg było ustawione na: /opt/local/lib/postgresql91/bin/pg_config i to nie tam zainstalowano postgres.

I fixed it with replace the value of build.pg na: bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config gdzie jest moja instalacja postgresql.

 3
Author: HosseinToussi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-12 06:56:23

Try:

gem install pg -- --with-pg-config=`which pg_config`
 1
Author: Gerry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-08 11:48:33

Rozwiązany! Znalazłem brak biblioteki dla postgresql w systemie. Rozwiązały go tylko dwa kroki:

1) brew install postgresql 2) gem install pg

 -1
Author: user6756462,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-25 09:45:44