2016-03-23 10 views
0

Ich benutze ec2 auf aws und versuche, meine Schienen App zu implementieren. Ich habe meine App erfolgreich an meinen ec2-User geklont und dann versucht, das Bundle zu installieren, was aber nicht funktionierte, weil es pg. Ich weiß nicht, warum ich Bundle nicht installieren kann. Ich habe mehrere Lösungen auf Stack-Overflow versucht, aber alles hat nicht funktioniert. brauche deine Hilfe.Ich kann nicht Paket installieren wegen Edelstein pg (0.18.4)

Fetching gem metadata from https://rubygems.org/........... 
Fetching version metadata from https://rubygems.org/... 
Fetching dependency metadata from https://rubygems.org/.. 
Rubygems 2.0.14.1 is not threadsafe, so your gems will be installed one at a time. Upgrade to Rubygems 2.1.0 or higher to enable parallel gem installation. 
Using rake 11.1.1 
Using i18n 0.7.0 
Using json 1.8.3 
Using minitest 5.8.4 
Using thread_safe 0.3.5 
Using builder 3.2.2 
Using erubis 2.7.0 
Using mini_portile2 2.0.0 
Using rack 1.6.4 
Using mime-types 2.99.1 
Using arel 6.0.3 
Using execjs 2.6.0 
Using debug_inspector 0.0.2 
Using sass 3.4.21 
Using byebug 8.2.2 
Using net-ssh 3.1.0 
Using coffee-script-source 1.10.0 
Using thor 0.19.1 
Using concurrent-ruby 1.0.1 
Using multi_json 1.11.2 
Installing pg 0.18.4 with native extensions 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    /usr/bin/ruby2.0 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 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib64 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/usr/bin/ruby2.0 
    --with-pg 
    --without-pg 
    --enable-windows-cross 
    --disable-windows-cross 
    --with-pg-config 
    --without-pg-config 
    --with-pg_config 
    --without-pg_config 
    --with-pg-dir 
    --without-pg-dir 
    --with-pg-include 
    --without-pg-include=${pg-dir}/include 
    --with-pg-lib 
    --without-pg-lib=${pg-dir}/ 


Gem files will remain installed in /home/ec2-user/.gem/ruby/2.0/gems/pg-0.18.4 for inspection. 
Results logged to /home/ec2-user/.gem/ruby/2.0/gems/pg-0.18.4/ext/gem_make.out 
Using bundler 1.11.2 
Using tilt 2.0.2 
Using spring 1.6.4 
Installing sqlite3 1.3.11 with native extensions 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    /usr/bin/ruby2.0 extconf.rb 
checking for sqlite3.h... no 
sqlite3.h is missing. Try 'port install sqlite3 +universal', 
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev' 
and check your shared library search path (the 
location where your sqlite3 shared library is located). 
*** 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 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib64 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/usr/bin/ruby2.0 
    --with-sqlite3-dir 
    --without-sqlite3-dir 
    --with-sqlite3-include 
    --without-sqlite3-include=${sqlite3-dir}/include 
    --with-sqlite3-lib 
    --without-sqlite3-lib=${sqlite3-dir}/ 


Gem files will remain installed in /home/ec2-user/.gem/ruby/2.0/gems/sqlite3-1.3.11 for inspection. 
Results logged to /home/ec2-user/.gem/ruby/2.0/gems/sqlite3-1.3.11/ext/sqlite3/gem_make.out 
Using rdoc 4.2.2 
Using tzinfo 1.2.2 
Using nokogiri 1.6.7.2 
Using rack-test 0.6.3 
Using mail 2.6.3 
Using autoprefixer-rails 6.3.3.1 
Using uglifier 2.7.2 
Using binding_of_caller 0.7.2 
Using net-scp 1.2.1 
Using coffee-script 2.4.1 
Using sprockets 3.5.2 
An error occurred while installing pg (0.18.4), and Bundler cannot continue. 
Make sure that `gem install pg -v '0.18.4'` succeeds before bundling. 

und mein Juwel Datei ist unter

source 'https://rubygems.org' 

ruby '2.0.0' 
gem 'rails_12factor', group: :production 
gem 'bootstrap-sass' 
gem 'rails', '4.2.5.1' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.1.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0', group: :doc 
gem 'capistrano', '~> 3.4.0' 

group :development, :test do 
    gem 'sqlite3' 
end 

group :development, :test do 
    gem 'pg' 
end 


group :development, :test do 
    gem 'byebug' 
end 

group :development do 

    gem 'web-console', '~> 2.0' 

    gem 'spring' 
end 

Antwort

1

Der Fehler in der Stack-Trace sichtbar ist:

Can't find the 'libpq-fe.h header 

Sie haben keine libpq Header, erforderlich für den Aufbau des PG-Adapter . Stellen Sie sicher, dass Sie PostgreSQL und die Dev-Abhängigkeiten installiert haben (das libpq-dev-Paket).

Auch müssen Sie Ihre Gemfile reinigen. Sie haben 3 gleichwertige group :development, :test do Deklarationen.

Plus, importieren Sie sowohl die Sqlite3 und PG Edelsteine ​​in der gleichen Umgebung. Treffen Sie eine Entscheidung über Ihre Datenbank und verwenden Sie nur eine davon.

Zu guter Letzt haben Sie keine Datenbank für die Produktion deklariert, daher wird Ihre Bereitstellung in der Produktion fehlschlagen.

+0

so was soll ich speziell zu tun? – hujihuji

0

Unter Linux installieren Sie einfach sicher, dass diese zwei

sudo apt-get install postgresql 
sudo apt-get install pgadmin3 
bundle install 
Verwandte Themen