2013-04-04 5 views
6

Ich arbeite an der Erstellung der Twitter-Klon-App in Hartls Rails Tutorial. Ich klonte meinen Git Repo (https://github.com/stewartmccoy/rails_tutorial) und legte Code auf meinen PC, der vorher auf meinem Arbeitscomputer war. Meine Entwicklerumgebung könnte also etwas anders sein als in meiner Gemfile angegeben.'Ich konnte pg-0.12.2 in keiner der Quellen finden' wenn ich rspec starte

Meine Umgebung: Mac OS 10.6.8 Rails 3.2.13 Rubin 1.9.3p392 (2013.02.22 Revision 39386) [x86_64-darwin10.8.0]

* LOCAL GEMS *

  • Action (3.2.13, 3.2.11, 3.2.1)
  • Action (3.2.13, 3.2.11, 3.2.1)
  • activemodel (3.2.13, 3.2.11, 3.2 .1)
  • active (3.2.13, 3.2.11, 3.2.1)
  • Active (3.2.13, 3.2.11, 3.2.1)
  • Active (3.2.13, 3.2.11, 3.2.1)
  • adressierbaren (2.3.2)
  • annotate (2.5.0)
  • arel (3.0.2)
  • bcrypt-Rubin (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)
  • Child-(0.3.9, 0.3.6)
  • Kaffee-Schienen (3.2.2)
  • Kaffee-Skript (2.2.0)
  • Kaffee-Skript-Quelle (1.6.2, 1.6.1, 1.4.0)
  • Gurke (1.2.1)
  • cucumber Leitschienen (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)
  • Wanderung (1.2.1)
  • i18n (0.6.1)
  • io-Konsole (0,3)
  • Fahrt (1.0.4)
  • jquery-Schienen (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- Typen (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)
  • polyglott (0.3.3)
  • Zahnstange (1.4.5, 1.4.4, 1.4.1)
  • rack-Cache (1,2)
  • rack-ssl (1.3.3, 1.3.2)
  • rack-Test (0.6.2)
  • Schienen (3.2.13, 3.2.1)
  • railties (3.2.13, 3.2.11, 3.2.1)
  • Rechen (10.0.3, 0.9.2.2)
  • rdoc (3,12 .2, 3.12, 3.9.5)
  • rspec-core (2.13.1)
  • rspec-Erwartungen (2.13.0)
  • rspec-mocks (2.13.0)
  • rspec-Schienen (2.13.0)
  • rubygems-Bündler (1.1.1)
  • rubyzip (0.9.9)
  • RVM (1.11.3.6)
  • sass (3.2.7, 3.2.4)
  • sass-Schienen (3.2.6, 3.2.5)
  • selen WebDriver (2.31.0, 2,27 .2)
  • Kettenräder (2.2.2, 2.1. 3)
  • sqlite3 (1.3.7)
  • Thor (0.17.0, 0.16.0, 0.14.6)
  • Neigung (1.3.6, 1.3.3)
  • Baumwipfel (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)

Mein 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' 
    # 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 

Wie dem auch sei, ich versuche, den Test nur nach Listing 8 laufen.18 (http://ruby.railstutorial.org/chapters/sign-in-sign-out#sec-reviewing_form_submission):

$ bundle exec rspec spec/models/user_spec.rb 

Und ich bekomme diese Fehlermeldung:

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

Also, ich laufe bundle install und und erhalten diesen Fehler:

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. 

Schließlich habe ich versucht PATH=$PATH:/Library/PostgreSQL/9.2/bin sudo gem install pg und bekam :

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 

Vorschläge?

Vielen Dank im Voraus für Ihre Hilfe!

Antwort

3

Sie sollten überprüfen, welche Adapter Sie auf config/database.yml haben. Wahrscheinlich haben Sie den Postgres- oder Pg-Adapter mit der Test Umgebung eingerichtet.

jedoch auf Ihrem Gemfile, haben Sie Setup Postgres nur für die Produktion:

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

, wenn Sie die Testumgebung hinzufügen und Bündel erneut ausführen, sollte es funktionieren:

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

Auch Siehe die Lösung von this answer:

Versuchen Sie, den Edelstein mit diesem Befehl zu installieren:

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

Wenn Sie nicht wissen, wo Ihr pg_config ist, führen Sie diesen Befehl ein:

which pg_config 

BTW, hast du bereits Postgres auf Ihrem Desktop installieren? Alles, was Sie brauchen, ist das Postgres-Entwicklungspaket, um den Edelstein zu installieren.

+0

ah. Ich habe gerade meine Datei "database.yml" überprüft und alle Adapter sind auf sqlite3 eingestellt. Ich muss das beheben. Seltsam, weil ich dachte, ich hätte die Produktion bereits auf Postgres eingestellt. – stewartmccoy

+0

BTW, Ich habe Ihre Antwort noch einmal überprüft, und Sie haben tatsächlich Probleme mit der Installation von Postgres. Können Sie mir Ihr Betriebssystem mitteilen? – rorra

+0

I Gemfile aktualisiert: 'Gruppe: Test: Produktion tun gem 'pg', '0.12.2' end' und auch database.yml: ' Produktion: Adapter: postgresql Datenbank: rails_tutorial Pool: 5 Timeout: 5000' aber immer noch erhalten: 'konnte nicht pg-0.12.2 in eine der Quellen Run' Bündel install' finden gems.' – stewartmccoy

Verwandte Themen