Saya mencoba memasang permata pg untuk bekerja lagi dengan proyek rel saya. Tapi saya mendapatkan kesalahan ini:
Membangun ekstensi asli. Ini bisa memakan waktu cukup lama ... ERROR: Kesalahan menginstal pg: ERROR: Gagal membangun ekstensi asli 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
bangunan gagal, silakan coba lagi dengan --with-pg-config = / path / to / pg_config memeriksa libpq-fe.h ... tidak Tidak dapat menemukan 'header libpq-fe.h * extconf.rb gagal * Tidak dapat membuat Makefile karena beberapa alasan, mungkin kurangnya perpustakaan dan / atau header yang diperlukan. Periksa file mkmf.log untuk lebih jelasnya. Anda mungkin memerlukan opsi konfigurasi.
Opsi konfigurasi yang disediakan: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib - tanpa-opt-lib = $ {opt-dir} / lib --with-make-prog --without-make-prog --srcdir =. --curdir --ruby = / Users / jeanosorio / .rvm / rubies / ruby-2.0.0-p247 / bin / ruby --with-pg --without-pg --with-pg-config --without-pg -config --with-pg_config --without-pg_config --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include = $ {pg-dir} / include - -dengan-pg-lib --without-pg-lib = $ {pg-dir} /
File permata akan tetap terpasang di /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0 untuk diperiksa. Hasil dicatat ke /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out
Saya mencoba semua yang saya temukan di stackoverflow tetapi saya masih mendapatkan kesalahan ini.
Jika saya mencoba menginstal postgresql menggunakan brew, saya mendapatkan waring berikut:
Peringatan: postgresql-9.2.4 sudah terpasang, hanya saja tidak ditautkan
Jika saya mencoba untuk menghubungkan
brew link postgresql Linking /usr/local/Cellar/postgresql/9.2.4 ... Peringatan: Tidak dapat menautkan postgresql. Membatalkan tautan ...
Kesalahan: Tidak dapat menghubungkan file: /usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7 / usr / local / share / man / man7 tidak dapat ditulis. Anda harus mengubah izinnya.
Tolonglah
CATATAN: Saya sudah menginstal alat baris perintah untuk mavericks.
Jika saya menghapus instalan menggunakan homebrew dan mencoba menginstal lagi, saya mendapatkan kesalahan ini:
==> Mengunduh http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
############################################### ################ 100.0%==> Menambal file tambalan src / pl / plpython / Makefile file tambalan contrib / uuid-ossp / uuid-ossp.c ==> ./configure --prefix = / usr / local / Cellar / postgresql / 9.2.4 - datadir = / usr / local / Cellar / postgresql / 9.2.4 / share / postgresql --docdir = / usr / local / Cellar / p ==> buat install-world ==> Peringatan
Bangun Catatan
Jika build PostgreSQL 9 gagal dan Anda menginstal versi 8.x, Anda mungkin perlu menghapus versi sebelumnya terlebih dahulu. Lihat:
https://github.com/mxcl/homebrew/issues/issue/2510Buat / Tingkatkan Database
Jika ini adalah instalasi pertama Anda, buat database dengan: initdb / usr / local / var / postgres -E utf8
Untuk memindahkan data yang ada dari versi utama sebelumnya (pra-9.2) dari PostgreSQL, lihat:
http://www.postgresql.org/docs/9.2/static/upgrading.htmlMemuat Ekstensi
Secara default, Homebrew membangun semua ekstensi Contrib yang tersedia. Untuk melihat daftar semua ekstensi yang tersedia, dari baris perintah psql, jalankan:
SELECT * FROM pg_available_extensions;Untuk memuat salah satu nama ekstensi, navigasikan ke database yang diinginkan dan jalankan: BUAT EKSTENSI [nama ekstensi];
Misalnya, untuk memuat ekstensi tablefunc dalam database saat ini, jalankan: CREATE EXTENSION tablefunc;
Untuk informasi lebih lanjut tentang perintah CREATE EXTENSION, lihat:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html Untuk informasi lebih lanjut tentang ekstensi, lihat:
http://www.postgresql.org/ docs / 9.2 / static / contrib.htmlLain
Beberapa mesin mungkin memerlukan penyediaan memori bersama:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC Saat memasang permata postgres, disarankan menyertakan ARCHFLAGS: ARCHFLAGS = "- arch x86_64" gem install pgUntuk menginstal permata tanpa sudo, lihat wiki Homebrew.
Untuk memulai launchd postgresql saat login: ln -sfv /usr/local/opt/postgresql/*.plist ~ / Library / LaunchAgents Kemudian untuk memuat postgresql sekarang: launchctl load ~ / Library / LaunchAgents / homebrew.mxcl.postgresql.plist Atau , jika Anda tidak ingin / membutuhkan launchctl, Anda dapat menjalankan: pg_ctl -D / usr / local / var / postgres -l /usr/local/var/postgres/server.log start Peringatan: Tidak dapat menautkan postgresql. Membatalkan tautan ... Kesalahan:
brew link
Langkah tidak berhasil diselesaikan Rumus dibuat, tetapi tidak terhubung ke / usr / local Anda dapat mencoba lagi menggunakan `brew link postgresql '==> Ringkasan 🍺 /usr/local/Cellar/postgresql/9.2 .4: 2831 file, 38M, dibangun dalam 4,9 menit
LARUTAN:
Saya menjalankan perintah ini untuk mengubah izin folder:
sudo chown jeanosorio / usr / local / share / man / man7
Kemudian
brew link postgresql Linking /usr/local/Cellar/postgresql/9.3.1 ... 421 symlink dibuat
Dan akhirnya:
sudo ARCHFLAGS = "- arch x86_64" gem install pg
Mengambil: pg-0.17.0.gem (100%) Membangun ekstensi asli. Ini bisa memakan waktu cukup lama ... Berhasil menginstal pg-0.17.0
export CONFIGURE_ARGS="with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config"
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
gem install pg -- --with-pg-config=/Applications//Postgres.app/Contents/Versions/9.3/bin/pg_config
Gunakan minuman untuk mendapatkan
postgresql
Periksa apakah Anda memiliki pg_config di minuman yang diinstal. Saya menemukan milik saya di
Cek melalui:
Setelah selesai, instal
pg
permata dengansumber
ls /usr/local/Cellar/postgresql/9.*/bin/pg_config
untuk menemukan jalur nyata dan gabunganenv ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=$(ls /usr/local/Cellar/postgresql/9.*/bin/pg_config)
Saya tidak dapat menginstal postgres melalui MacPorts. Sebagai gantinya, saya menginstal Postgress.app . dan menelepon
Catatan: dalam versi yang lebih baru (setidaknya dalam 9.3) jalurnya sebenarnya:
/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
sumber
Jika Anda memiliki homebrew, cukup ketik:
sumber
gem install pg
Berikut alternatif lain jika Anda ingin menggunakan penginstal postgresql secara langsung. Ada beberapa rintangan yang harus Anda lewati untuk memulai setelah memperbarui ke maverick. Inilah yang saya lakukan:
Instal alat baris perintah xcode terlebih dahulu:
Unduh dan instal versi terbaru PostgreSQL (9.3.1), dalam kasus saya, saya hanya menggunakan penginstal grafis. Berikut tautan ke halaman unduhan:
Cukup pilih semua default yang diberikannya kepada Anda. Dalam kasus saya itu menginstal postgres ke direktori berikut, jika Anda menginstalnya ke direktori yang berbeda, ingat saja jalur yang Anda pilih, karena Anda akan membutuhkannya segera.
Jika sekarang Anda mencoba dan menginstal pg gem terbaru (0.17.0), Anda harus memberikan beberapa opsi pada baris perintah. Ini yang saya gunakan:
Jika Anda menginstal postgres ke lokasi yang berbeda maka Anda harus memperbaiki jalur ke file pg_config.
Jika ia mengeluhkan file 'libpq.5.dylib' yang hilang saat mencoba menginstal pg gem, Anda harus membuat symlink yang menunjuk ke lokasi sebenarnya dari file ini. Postgres mencarinya di direktori / usr / local / lib / Anda jadi buat symlink di sana dan arahkan ke lokasi sebenarnya. Dalam kasus saya, saya harus menjalankan:
Setelah Anda selesai melakukannya, coba pasang kembali permata itu dan semoga itu akan bekerja untuk Anda dengan cara yang sama seperti yang saya lakukan.
sumber
Bagi saya, di Yosemite, saya tidak perlu menentukan
pg_config
jalur. Berikut ini menyelesaikannya.Sepertinya bendera arsitektur adalah kuncinya.
sumber
Dalam kasus saya (saya membutuhkan PG 0.16.0 di Mavericks), saya menginstal postgresql melalui MacPorts
lalu
Untuk versi terbaru, Anda perlu mengurangi -v '0.16.0'
Jika Anda memiliki Homebrew terinstal, jangan instal MacPorts sebelum Anda membaca tentang koeksistensi mereka
sumber
Tempatkan yang hilang
--with-pg-config
di file konfigurasi Bundler:/Users/<your_user>/.bundle/config
untuk membuat hidup Anda lebih mudah.Lalu lari
bundle install
lagi.sumber
Itu berhasil untuk saya! (Postgres 93, mac ox 10.9.1) 1. unduh @ http://postgresapp.com/ dan dari
sumber
Saya terjebak pada pemasangan bundel saya selama 3 hari. Mencoba Segala Sesuatu seperti menambahkan env ARCHFLAGS = "- arch x86_64" gem install pg - --with-pg-config = / usr / local / Cellar / postgresql / 9.3.5_1 / bin / pg_config
Saya dapat melihat pg gem terinstal setelah perintah ini tetapi masih tidak menginstal dari bundle install, yang menyebalkan karena saya tidak tahu apa yang harus ditulis di Gemfile kecuali gem 'pg'
Hal yang akhirnya bekerja untuk saya adalah untuk menemukan bahwa pg_config saya di /Library/PostgreSQL/9.3/bin/pg_config dan secara default Gemfile bundel instalasi terlihat di / usr / local / bin / pg_config
Saya baru saja menjalankan perintah berikut dan keajaiban terjadi. bundel config build.pg --with-pg-config = / Library / PostgreSQL / 9.3 / bin / pg_config
sumber
Dalam kasus saya itu tidak berfungsi jika Anda tidak menentukan bendera arch, OS X 10.10.3 dan postersApp 9.4
sumber
Cara termudah bagi saya untuk menyelesaikan ini adalah dengan menggunakan Postgres.app dan mengatur vars env saya jadi
gem install pg
hanya berfungsi (alih-alih memerlukan--with-pg-config
bendera).Menggunakan Homebrew Cask ,
sumber
Inilah yang berhasil untuk saya:
sumber
Dalam kasus saya, saya mencopot pemasangan versi yang diinstal melalui homebrew dan beralih ke Postgres.app (v9.3.4.2 pada saat penulisan).
Ini hanya tampak berfungsi saat mempersiapkan bendera arsitektur lingkungan dan menentukan jalur ke
pg_config
. Jarak tempuh Anda mungkin berbeda, jadi jawaban ini dapat membantu dengan variasipg_config
lokasi.Inilah perintah terakhir dan lengkap yang berhasil untuk saya:
sumber
sudo ARCHFLAGS = "- arch x86_64" gem install pg - --with-pg-config = / usr / local / bin / pg_config
sumber
ARCHFLAGS="-arch x86_64" bundle install
Saya mendapatkan kesalahan yang sama saat menjalankan pemasangan bundel terkait permata pg (menggunakan Mac OS X Mavericks). Setelah berjam-jam meneliti, saya menemukan solusinya. Saya menginstal postgres menggunakan homebrew
Setelah menginstal itu, saya membuat aplikasi rel baru menggunakan postgres. Aku lari
tidak berhasil (mendapat kesalahan yang sama dengan pertanyaannya). Saya dulu
untuk mencari tahu di mana postgres saya dipasang, itu kembali
sebelum menjalankan bundle install lagi, saya harus mengubah jalur global ke build.pg dengan menjalankan perintah berikut
lalu saya menjalankan bundle install lagi dan voila! Saya menggunakan postgres tempat brew menginstalnya.
sumber
Di OS X Mavericks dengan Aplikasi Postgres terbaru, lakukan hal berikut dengan hak sudo
sumber
Apa yang berhasil untuk saya di 10.9.3 dengan Xcode 5.1.1 adalah sebagai berikut:
Saya membutuhkan pg 0.17.1
sumber
Untuk setiap jiwa yang hilang di luar masih memiliki masalah ini tanpa resolusi dan memiliki ruby dan postgres yang
brew
terpasang . Berikut langkah-langkah berikut untuk memastikan:ruby
tidak diinstal dengan--universal
bendera.--universal
dipecahkan , yang saya miliki merupakan akar terakhir dari masalah.postgresql
dengan benar dengan perintahinitdb
dancreatedb
(lihat di tempat lain untuk langkah-langkah melakukan ini).Xcode
(Opsional) dancommand line tools
diinstal; di terminal:xcode-select --install
sudo xcodebuild -license
(jika Xcode diinstal) atau buka aplikasi dan terima perjanjian lisensi.which ruby
,which gem
danwhich postgres
harus menunjukkan/usr/local/bin/ruby
,/usr/local/bin/gem
dan dengan/usr/local/bin/postgres
hormat.Di jalankan terminal:
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
Memastikan semua langkah ini puas, saya dapat menyelesaikan kesalahan berikut:
ruby.h
kesalahan headerdeveloper tools installed first
kesalahansumber
Pertama-tama temukan lokasi pg_config
Jawabannya adalah /Library/PostgreSQL/9.1/bin/pg_config di konfigurasi saya (MAC Maverick)
Kemudian coba pasang sesuatu seperti di bawah ini
permata instal pg - --with-pg-config = / Library / PostgreSQL / 9.3 / bin / pg_config
jika ini tidak berhasil maka coba periksa dengan cara apa Anda menginstal postgresql
brew / mac port / setup
maka Anda harus mencoba opsi yang relevan untuk hal yang sama.
Terima kasih.
Ram
sumber
Saya memiliki masalah yang sama, ini adalah solusi yang saya temukan.
Jika Anda menjalankan
brew doctor
, ini akan memberi tahu Anda bahwa mungkin Anda telah menginstal sesuatu tanpa brew yang telah mengubah izin pada beberapa folder, dan karenanya, Anda perlu mengubah izin kembali kepada Anda di folder itu.Di dalam
/usr/local/share/man
, yang dapat Anda lakukan adalah sebagai berikut:sudo chown [yourusername] man7
Lalu:
brew link postgres
Semoga membantu!
sumber
Demikian pula, setelah menginstal 'pembaruan bundel' Mavericks membuat kesalahan pada permata pg, yang hanya digunakan pada produksi dan tidak secara lokal.
Saya menggunakan Brew untuk mengelola paket saya dan postgresql sudah diinstal, tetapi saya masih mendapatkan kesalahan 'no pg_config'.
Perbaikannya adalah hanya 'buat uninstall postgresql', lalu 'brew install postgresql'. Setelah itu saya langsung berhasil menjalankan 'pembaruan bundel'
sumber
kemudian
bekerja pada 10.10.2
sumber
Jika setelah mencoba semuanya di sini masih tidak bisa dipasang, coba buka Xcode dan terima perjanjian lisensi.
sumber
Bagi saya, pesan kesalahannya terlihat seperti ini:
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
Seperti yang ditunjukkan oleh pesan kesalahan, itu mencoba untuk menjalankan perintah / script "pg_config". Jadi tambahkan saja ke jalur dari mana pun instalasi Postgres Anda berada. Dalam kasus saya, saya melakukan:
export PATH=/Applications/Postgres.app/Contents/Versions/9.5/bin:$PATH
kemudian
bundle
Itu dia.
sumber
Postgres 9.4:
sumber