在捆绑

时间:2017-04-02 14:47:10

标签: ruby-on-rails ruby rubygems

执行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

2 个答案:

答案 0 :(得分:6)

我遇到了类似的问题,这对我有用:

(注意:首先确保您已安装XCode和自制软件)

  1. brew install postgresql

  2. gem uninstall pg - 这可能不会返回任何内容,这没关系。

  3. 然后在您应用的目录中,bundle installgem 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>