我正在 Hartl 的 Rails 教程中构建 twitter 克隆应用程序。我克隆了我的 git repo ( https://github.com/stewartmccoy/rails_tutorial ) 并将代码放到我的个人计算机上,该计算机以前在我的工作计算机上。因此,我的开发人员环境可能与我在 Gemfile 中指定的环境略有不同。
我的环境:Mac OS 10.6.8 Rails 3.2.13 ruby 1.9.3p392(2013-02-22 修订版 39386)[x86_64-darwin10.8.0]
*当地宝石*
- actionmailer (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)
- 主动支持(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)
- 引导 sass (2.1.0.0)
- 引导-will_paginate (0.0.6)
- 建设者(3.0.4)
- 捆绑器 (1.3.4)
- 水豚 (2.0.2, 1.1.2)
- 子进程(0.3.9,0.3.6)
- 咖啡轨 (3.2.2)
- 咖啡脚本(2.2.0)
- 咖啡脚本源(1.6.2、1.6.1、1.4.0)
- 黄瓜 (1.2.1)
- 黄瓜导轨 (1.2.1)
- database_cleaner (0.7.0)
- diff-lcs (1.2.1, 1.1.3)
- 厄鲁比斯 (2.7.0)
- 执行js (1.4.0)
- factory_girl (4.1.0)
- factory_girl_rails (4.1.0)
- 伪造者(1.0.1)
- 菲 (1.4.0, 1.3.1)
- 小黄瓜 (2.11.5)
- 远足 (1.2.1)
- i18n (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)
- 哑剧类型 (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)
- 机架 SSL (1.3.3, 1.3.2)
- 机架测试(0.6.2)
- 导轨(3.2.13、3.2.1)
- 铁轨(3.2.13、3.2.11、3.2.1)
- 耙子 (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 捆绑器 (1.1.1)
- rubyzip (0.9.9)
- rvm (1.11.3.6)
- 萨斯(3.2.7,3.2.4)
- sass-rails (3.2.6, 3.2.5)
- 硒网络驱动程序(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)
- 树顶 (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)
我的宝石文件:
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
无论如何,我正在尝试在清单 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
建议?
非常感谢您的帮助!