gpt4 book ai didi

ruby-on-rails - 运行 rspec 时“无法在任何来源中找到 pg-0.12.2”

转载 作者:行者123 更新时间:2023-11-29 11:25:25 26 4
gpt4 key购买 nike

我正在 Hartl 的 Rails 教程中构建 Twitter 克隆应用程序。我克隆了我的 git repo ( https://github.com/stewartmccoy/rails_tutorial ) 并将代码放到我的个人电脑上,这台电脑以前是在我的工作电脑上。因此,我的开发人员环境可能与我的 Gemfile 中指定的略有不同。

我的环境:苹果操作系统 10.6.8 rails 3.2.13 ruby 1.9.3p392(2013-02-22 修订版 39386)[x86_64-darwin10.8.0]

* 本地 gem *

  • actionmailer(3.2.13、3.2.11、3.2.1)
  • Action 包(3.2.13、3.2.11、3.2.1)
  • 事件模型(3.2.13、3.2.11、3.2.1)
  • 事件记录(3.2.13、3.2.11、3.2.1)
  • 事件资源(3.2.13、3.2.11、3.2.1)
  • 主动支持(3.2.13、3.2.11、3.2.1)
  • 可寻址 (2.3.2)
  • 注释 (2.5.0)
  • 阿雷尔 (3.0.2)
  • bcrypt-ruby (3.0.1)
  • 大十进制 (1.1.0)
  • bootstrap-sass (2.1.0.0)
  • bootstrap-will_paginate (0.0.6)
  • 生成器 (3.0.4)
  • bundler (1.3.4)
  • capybara (2.0.2, 1.1.2)
  • 子进程 (0.3.9, 0.3.6)
  • 咖啡架 (3.2.2)
  • CoffeeScript (2.2.0)
  • CoffeeScript 源(1.6.2、1.6.1、1.4.0)
  • cucumber (1.2.1)
  • cucumber rails (1.2.1)
  • 数据库清理器 (0.7.0)
  • diff-lcs (1.2.1, 1.1.3)
  • erubis (2.7.0)
  • execjs (1.4.0)
  • 工厂女孩 (4.1.0)
  • factory_girl_rails (4.1.0)
  • 伪造者 (1.0.1)
  • ffi (1.4.0, 1.3.1)
  • 小 cucumber (2.11.5)
  • 远足 (1.2.1)
  • 国际化 (0.6.1)
  • io 控制台 (0.3)
  • 旅程 (1.0.4)
  • jquery-rails (2.2.1, 2.1.4, 2.0.2)
  • json(1.7.7、1.7.6、1.7.5、1.5.5)
  • libwebsocket (0.1.7.1)
  • 邮件(2.5.3、2.4.4)
  • mime 类型(1.21、1.19)
  • 最小测试 (2.5.1)
  • multi_json (1.7.1, 1.5.0)
  • nokogiri(1.5.8、1.5.7、1.5.6)
  • PG (0.14.1)
  • 通晓多种语言 (0.3.3)
  • 机架(1.4.5、1.4.4、1.4.1)
  • 机架缓存 (1.2)
  • rack-ssl (1.3.3, 1.3.2)
  • 机架测试 (0.6.2)
  • rails (3.2.13、3.2.1)
  • railties(3.2.13、3.2.11、3.2.1)
  • rake (10.0.3、0.9.2.2)
  • rdoc (3.12.2, 3.12, 3.9.5)
  • rspec 核心 (2.13.1)
  • rspec-expectations (2.13.0)
  • rspec 模拟 (2.13.0)
  • rspec-rails (2.13.0)
  • rubygems-bundler (1.1.1)
  • rubyzip (0.9.9)
  • rvm (1.11.3.6)
  • sass (3.2.7, 3.2.4)
  • sass-rails(3.2.6、3.2.5)
  • selenium-webdriver (2.31.0, 2.27.2)
  • 链轮(2.2.2、2.1.3)
  • sqlite3 (1.3.7)
  • 雷神 (0.17.0, 0.16.0, 0.14.6)
  • 倾斜(1.3.6,1.3.3)
  • treetop (1.4.12)
  • tzinfo (0.3.37, 0.3.35)
  • 丑化器 (1.3.0)
  • 网络套接字 (1.0.7, 1.0.6)
  • will_paginate (3.0.3)
  • xpath (1.0.0, 0.1.4)

我的 gem 文件:

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'bootstrap-sass', '2.1'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'jquery-rails', '2.0.2'

group :development, :test do
gem 'sqlite3', '1.3.5'
gem 'rspec-rails', '2.11.0'
# gem 'guard-rspec', '1.2.1'
# gem 'guard-spork', '1.2.0'
# gem 'spork', '0.9.2'
end

group :development do
gem 'annotate', '2.5.0'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '3.2.5'
gem 'coffee-rails', '3.2.2'
gem 'uglifier', '1.2.3'
end

group :test do
gem 'capybara', '1.1.2'
gem 'factory_girl_rails', '4.1.0'
gem 'cucumber-rails', '1.2.1', :require => false
gem 'database_cleaner', '0.7.0'
# gem 'launchy', '2.1.0'
# gem 'rb-fsevent', '0.9.1', :require => false
# gem 'growl', '1.0.3'
end

group :production do
gem 'pg', '0.12.2'
end

无论如何,我试图在 list 8.18 之后运行测试(http://ruby.railstutorial.org/chapters/sign-in-sign-out#sec-reviewing_form_submission):

$ bundle exec rspec spec/models/user_spec.rb

我得到这个错误:

Could not find pg-0.12.2 in any of the sources
Run `bundle install` to install missing gems.

所以,我运行 bundle install 并得到这个错误:

Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Using rake (10.0.3)
Using i18n (0.6.1)
Using multi_json (1.5.0)
Using activesupport (3.2.11)
Using builder (3.0.4)
Using activemodel (3.2.11)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.4)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.2.2)
Using actionpack (3.2.11)
Using mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.12)
Using mail (2.4.4)
Using actionmailer (3.2.11)
Using arel (3.0.2)
Using tzinfo (0.3.35)
Using activerecord (3.2.11)
Using activeresource (3.2.11)
Using addressable (2.3.2)
Using annotate (2.5.0)
Using bcrypt-ruby (3.0.1)
Using bootstrap-sass (2.1.0.0)
Using will_paginate (3.0.3)
Using bootstrap-will_paginate (0.0.6)
Using nokogiri (1.5.6)
Using ffi (1.3.1)
Using childprocess (0.3.6)
Using websocket (1.0.6)
Using libwebsocket (0.1.7.1)
Using rubyzip (0.9.9)
Using selenium-webdriver (2.27.2)
Using xpath (0.1.4)
Using capybara (1.1.2)
Using coffee-script-source (1.4.0)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.7.6)
Using rdoc (3.12)
Using thor (0.16.0)
Using railties (3.2.11)
Using coffee-rails (3.2.2)
Using diff-lcs (1.1.3)
Using gherkin (2.11.5)
Using cucumber (1.2.1)
Using cucumber-rails (1.2.1)
Using database_cleaner (0.7.0)
Using factory_girl (4.1.0)
Using factory_girl_rails (4.1.0)
Using faker (1.0.1)
Using jquery-rails (2.0.2)
Installing pg (0.12.2)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/Users/stewartmccoy/.rvm/rubies/ruby-1.9.3-p392/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/stewartmccoy/.rvm/rubies/ruby-1.9.3-p392/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}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config


Gem files will remain installed in /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.12.2 for inspection.
Results logged to /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.12.2/ext/gem_make.out

An error occurred while installing pg (0.12.2), and Bundler cannot continue.
Make sure that `gem install pg -v '0.12.2'` succeeds before bundling.

最后,我尝试了 PATH=$PATH:/Library/PostgreSQL/9.2/bin sudo gem install pg 并得到:

Password:
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.

/Users/stewartmccoy/.rvm/rubies/ruby-1.9.3-p392/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/stewartmccoy/.rvm/rubies/ruby-1.9.3-p392/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}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config


Gem files will remain installed in /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.15.0 for inspection.
Results logged to /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.15.0/ext/gem_make.out

建议?

非常感谢您的帮助!

最佳答案

您应该在 config/database.yml 中检查您拥有的适配器。可能您已经在 test 环境中设置了 postgres 或 pg 适配器。

但是,在您的 Gemfile 上,您已经为生产设置了 postgres:

group :production do
gem 'pg', '0.12.2'
end

如果您添加测试环境并再次运行bundle,它应该可以工作:

group :test, :production do
gem 'pg', '0.12.2'
end

另请参阅 this answer 中的解决方案:

尝试使用此命令安装 gem:

gem install pg -- --with-pg-config= 'PATH_TO_YOUR_PG_CONFIG'

如果您不知道 pg_config 在哪里,请运行此命令:

which pg_config

顺便说一句,您是否已经在桌面上安装了 postgres?您只需要安装 gem 的 postgres 开发包。

关于ruby-on-rails - 运行 rspec 时“无法在任何来源中找到 pg-0.12.2”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15802774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com