![](/img/trans.png)
[英]error occurred while installing pg (0.15.1), and Bundler cannot continue
[英]An error occurred while installing pg (0.15.1), and Bundler cannot continue
我對 ruby 相當陌生,在瀏覽 railstutorial.org 時,我遇到了一個問題。 當我嘗試使用“bundle install --without production”捆綁安裝我的 ruby 應用程序時,我得到:
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rake 10.3.2
Using i18n 0.6.11
Using minitest 4.7.5
Using multi_json 1.10.1
Using thread_safe 0.3.4
Using tzinfo 0.3.41
Using activesupport 4.0.8
Using builder 3.1.4
Using erubis 2.7.0
Using rack 1.5.2
Using rack-test 0.6.2
Using actionpack 4.0.8
Using mime-types 1.25.1
Using polyglot 0.3.5
Using treetop 1.4.15
Using mail 2.5.4
Using actionmailer 4.0.8
Using activemodel 4.0.8
Using activerecord-deprecated_finders 1.0.3
Using arel 4.0.2
Using activerecord 4.0.8
Using bundler 1.7.3
Using mini_portile 0.6.0
Using nokogiri 1.6.3.1
Using xpath 2.0.0
Using capybara 2.1.0
Using ffi 1.9.6
Using childprocess 0.5.5
Using coffee-script-source 1.8.0
Using execjs 2.2.1
Using coffee-script 2.3.0
Using thor 0.19.1
Using railties 4.0.8
Using coffee-rails 4.0.1
Using diff-lcs 1.2.5
Using hike 1.2.3
Using jbuilder 1.0.2
Using jquery-rails 3.0.4
Using json 1.8.1
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/bryansaxon/.rvm/rubies/ruby-2.0.0-p576/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
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
--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=/Users/bryansaxon/.rvm/rubies/ruby-2.0.0-p576/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Gem files will remain installed in /Users/bryansaxon/.rvm/gems/ruby-2.0.0-
p576@railstutorial_rails_4_0/gems/pg-0.15.1 for inspection.
Results logged to /Users/bryansaxon/.rvm/gems/ruby-2.0.0-p576@railstutorial_rails_4_0/gems/pg-
0.15.1/ext/gem_make.out
An error occurred while installing pg (0.15.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.15.1'` succeeds before bundling.
然后當我嘗試 'gem install pg -v '0.15.1'' 時,我得到:
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/bryansaxon/.rvm/rubies/ruby-2.0.0-p576/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
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
--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=/Users/bryansaxon/.rvm/rubies/ruby-2.0.0-p576/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Gem files will remain installed in /Users/bryansaxon/.rvm/gems/ruby-2.0.0-
p576@railstutorial_rails_4_0/gems/pg-0.15.1 for inspection.
Results logged to /Users/bryansaxon/.rvm/gems/ruby-2.0.0-p576@railstutorial_rails_4_0/gems/pg-
0.15.1/ext/gem_make.out
然后我嘗試安裝 'gem install pg -v '0.15.1' --with-pg_config' 並得到:
ERROR: While executing gem ... (OptionParser::InvalidOption)
invalid option: --with-pg_config
現在我被卡住了,不知道如何解決這個問題。 通過與同一問題無關的其他帖子嘗試了多種方法,但似乎沒有任何效果。 任何幫助將非常感激! 我在運行 Yosemite 的 Mac 上。
這是我的 Gemfile:
source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0
gem 'rails', '4.0.8'
gem 'pg', '0.15.1'
group :development, :test do
gem 'rspec-rails', '2.13.1'
end
group :test do
gem 'selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
end
gem 'sass-rails', '4.0.3'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
group :production do
gem 'rails_12factor', '0.0.2'
end
由於gem 'pg', '0.15.1'
不在group :production
,即使您使用--without production
選項運行它,bundler 也會嘗試安裝它。 因此,您有 2 個選擇:
gem "pg"
移至生產組,並在開發中使用不同的數據庫。 例如 - gem "sqlite3"
嘗試使用'>=0.15.1'
而不是'0.15.1'
。
另一種解決方法是:
sudo apt install postgresql-contrib libpq-dev
通過安裝此依賴項,您將能夠捆綁您的應用程序。 PostgreSQL 也應該安裝在機器上。 如果你還沒有這樣做:
apt update
apt full-upgrade
apt install postgresql postgresql-client
如果您的防火牆禁止訪問端口 5432,PostgreSQL 將無法正常運行。
apt install ufw
如果你是遠程...允許 22 這樣你就不會被注銷。
ufw allow 22
ufw allow 5432
ufw enable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.