执行bundle update
时出现以下错误:
要查看此扩展无法编译的原因,请查看mkmf.log,该文件可以是 在这里找到:
/Users/jack/.rvm/gems/ruby-2.3.3/extensions/x86_64-darwin-16/2.3.0/pg-0.18.4/mkmf.log
extconf失败,退出代码1
宝石文件将保留在中 /Users/jack/.rvm/gems/ruby-2.3.3/gems/pg-0.18.4进行检查。 结果记录到
/Users/jack/.rvm/gems/ruby-2.3.3/extensions/x86_64-darwin-16/2.3.0/pg-0.18.4/gem_make.out安装pg(0.18.4)时发生错误,而Bundler则不能 继续。
在捆绑之前确保gem install pg -v '0.18.4'
成功。
我不知道为什么会遇到这个问题。然后我执行gem install pg -v '0.18.4'
:
要查看此扩展无法编译的原因,请查看mkmf.log,可在此处找到:
/Users/jack/.rvm/gems/ruby-2.3.3/extensions/x86_64-darwin-16/2.3.0/pg-0.18.4/mkmf.log
extconf失败,退出代码1
Gem文件将保留在/Users/jack/.rvm/gems/ruby-2.3.3/gems/pg-0.18.4中进行检查。 结果记录到/Users/jack/.rvm/gems/ruby-2.3.3/extensions/x86_64-darwin-16/2.3.0/pg-0.18.4/gem_make.out
我的Gemfile是这样的:
source 'https://gems.ruby-china.org'
gem 'rails', '5.0.0.1'
gem 'puma', '3.4.0'
gem 'sass-rails', '5.0.6'
gem 'uglifier', '3.0.0'
gem 'coffee-rails', '4.2.1'
gem 'jquery-rails', '4.1.1'
gem 'turbolinks', '5.0.1'
gem 'jbuilder', '2.4.1'
group :development, :test do
gem 'sqlite3', '1.3.11'
gem 'byebug', '9.0.0', platform: :mri
end
group :development do
gem 'web-console', '3.1.1'
gem 'listen', '3.0.8'
gem 'spring', '1.7.2'
gem 'spring-watcher-listen', '2.0.0'
end
group :production do gem 'pg', '0.18.4'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
修改-1
我的操作系统是macOS Sierra
答案 0 :(得分:6)
我遇到了类似的问题,这对我有用:
(注意:首先确保您已安装XCode和自制软件)
brew install postgresql
gem uninstall pg
- 这可能不会返回任何内容,这没关系。
然后在您应用的目录中,bundle install
或gem install pg
答案 1 :(得分:0)
这个问题经常出现,并且主要导致Postgres的过时版本。 试试
brew update
brew install postgresql
bundle install
如果您仍然需要使用该版本的Postgres,您可以指定'pg_config'的路径:
gem install pg -- --with-pg-config=<path to pg_config>