I am working on creating a clone twitter application in the Hartl Rails tutorial. I cloned my git repo ( https://github.com/stewartmccoy/rails_tutorial ) and put the code on my personal computer, which was previously on my working computer. So, my development environment may be slightly different from what is listed in my Gemfile.
My environment: Mac OS 10.6.8 Rails 3.2.13 ruby 1.9.3p392 (2013-02-22 version 39386) [x86_64-darwin10.8.0]
* LOCAL GEMS *
- actionmailer (3.2.13, 3.2.11, 3.2.1)
- actionpack (3.2.13, 3.2.11, 3.2.1)
- activemodel (3.2.13, 3.2.11, 3.2.1)
- activerecord (3.2.13, 3.2.11, 3.2.1)
- activeresource (3.2.13, 3.2.11, 3.2.1)
- activesupport (3.2.13, 3.2.11, 3.2.1)
- addressable (2.3.2)
- annotate (2.5.0)
- arel (3.0.2)
- bcrypt-ruby (3.0.1)
- bigdecimal (1.1.0)
- bootstrap-sass (2.1.0.0)
- bootstrap-will_paginate (0.0.6)
- builder (3.0.4)
- bundler (1.3.4)
- capybara (2.0.2, 1.1.2)
- childprocess (0.3.9, 0.3.6)
- coffee rails (3.2.2)
- coffee- script (2.2.0)
- coffee- script -source (1.6.2, 1.6.1, 1.4.0)
- cucumber (1.2.1)
- cucumber rails (1.2.1)
- database_cleaner (0.7.0)
- diff-lcs (1.2.1, 1.1.3)
- erubis (2.7.0)
- execjs (1.4.0)
- factory_girl (4.1.0)
- factory_girl_rails (4.1.0)
- faker (1.0.1)
- ffi (1.4.0, 1.3.1)
- gherkin (2.11.5)
- hike (1.2.1)
- i18n (0.6.1)
- io-console (0.3)
- travel (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)
- mail (2.5.3, 2.4.4)
- mime-types (1.21, 1.19)
- minitest (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)
- polyglot (0.3.3)
- rack (1.4.5, 1.4.4, 1.4.1)
- rack-cache (1.2)
- rack-ssl (1.3.3, 1.3.2)
- test stand (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-core (2.13.1)
- rspec-wait (2.13.0)
- rspec-mocks (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)
- stars (2.2.2, 2.1.3)
- sqlite3 (1.3.7)
- thor (0.17.0, 0.16.0, 0.14.6)
- tilt (1.3.6, 1.3.3)
- treetop (1.4.12)
- tzinfo (0.3.37, 0.3.35)
- uglifier (1.3.0)
- websocket (1.0.7, 1.0.6)
- will_paginate (3.0.3)
- xpath (1.0.0, 0.1.4)
My gemfile:
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'
In any case, I try to run the test immediately after Listing 8.18 ( http://ruby.railstutorial.org/chapters/sign-in-sign-out#sec-reviewing_form_submission ):
$ bundle exec rspec spec/models/user_spec.rb
And I get this error:
Could not find pg-0.12.2 in any of the sources Run `bundle install` to install missing gems.
So, I run bundle install and get this error:
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
Finally, I tried PATH=$PATH:/Library/PostgreSQL/9.2/bin sudo gem install pg and got:
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
Suggestions?
Many thanks for your help!