简体   繁体   English

git push heroku master失败了

[英]git push heroku master fails

I'm on Mountain Lion. 我在山狮队。 My username is admin. 我的用户名是admin。

UPDATE!!! UPDATE! After running the next three lines in terminal - all is well! 在终端中运行下三行后 - 一切都很好!

export ARCHFLAGS='-arch x86_64'
export PATH=/Library/PostgreSQL/9.1/bin:${PATH}
gem install pg

When I try to do git push heroku master. 当我尝试做git push heroku master。 It fails. 它失败。 I'm having so much trouble. 我遇到了这么多麻烦。 I'm not sure what to do. 我不知道该怎么做。

'which heroku' results in /usr/bin/heroku '哪个heroku'导致/ usr / bin / heroku

which git results in /usr/local/git/bin/git 哪个git导致/ usr / local / git / bin / git

ruby -v results in ruby 1.8.7 ruby -v导致红宝石1.8.7

Im running Postgres version 1.0 (11) 我正在运行Postgres版本1.0(11)

I have a Gemfile and a Gemfile.lock: 我有一个Gemfile和一个Gemfile.lock:

new-host:testing3 admin$ ls -la
total 72
drwxr-xr-x  21 admin  staff   714 Dec  9 18:40 .
drwx------+  6 admin  staff   204 Dec  8 16:20 ..
drwxr-xr-x  14 admin  staff   476 Dec 10 00:59 .git
-rw-r--r--   1 admin  staff   609 Dec  9 20:12 .gitignore
-rw-r--r--   1 admin  staff   812 Dec  9 20:14 Gemfile
-rw-r--r--   1 admin  staff  2502 Dec  6 17:54 Gemfile.lock
-rw-r--r--   1 admin  staff   204 Dec  9 18:40 README.markdown
-rw-r--r--   1 admin  staff  9208 Dec  6 17:54 README.rdoc
-rw-r--r--   1 admin  staff   273 Dec  6 17:54 Rakefile
drwxr-xr-x   8 admin  staff   272 Dec  8 18:28 app
drwxr-xr-x  10 admin  staff   340 Dec  6 17:54 config
-rw-r--r--   1 admin  staff   158 Dec  6 17:54 config.ru
drwxr-xr-x   4 admin  staff   136 Dec  8 16:34 db
drwxr-xr-x   3 admin  staff   102 Dec  6 17:54 doc
drwxr-xr-x   4 admin  staff   136 Dec  6 17:54 lib
drwxr-xr-x   4 admin  staff   136 Dec  8 16:33 log
drwxr-xr-x   8 admin  staff   272 Dec  6 17:54 public
drwxr-xr-x   3 admin  staff   102 Dec  6 17:54 script
drwxr-xr-x   8 admin  staff   272 Dec  6 17:54 test
drwxr-xr-x   6 admin  staff   204 Dec  8 16:33 tmp
drwxr-xr-x   4 admin  staff   136 Dec  6 17:54 vendor

Gemfile.lock looks like this: Gemfile.lock看起来像这样:

GEM
  remote: https://rubygems.org/
  specs:
    actionmailer (3.2.9)
      actionpack (= 3.2.9)
      mail (~> 2.4.4)
    actionpack (3.2.9)
      activemodel (= 3.2.9)
      activesupport (= 3.2.9)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      journey (~> 1.0.4)
      rack (~> 1.4.0)
      rack-cache (~> 1.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.2.1)
    activemodel (3.2.9)
      activesupport (= 3.2.9)
      builder (~> 3.0.0)
    activerecord (3.2.9)
      activemodel (= 3.2.9)
      activesupport (= 3.2.9)
      arel (~> 3.0.2)
      tzinfo (~> 0.3.29)
    activeresource (3.2.9)
      activemodel (= 3.2.9)
      activesupport (= 3.2.9)
    activesupport (3.2.9)
      i18n (~> 0.6)
      multi_json (~> 1.0)
    arel (3.0.2)
    builder (3.0.4)
    coffee-rails (3.2.2)
      coffee-script (>= 2.2.0)
      railties (~> 3.2.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.4.0)
    erubis (2.7.0)
    execjs (1.4.0)
      multi_json (~> 1.0)
    hike (1.2.1)
    i18n (0.6.1)
    journey (1.0.4)
    jquery-rails (2.1.4)
      railties (>= 3.0, < 5.0)
      thor (>= 0.14, < 2.0)
    json (1.7.5)
    mail (2.4.4)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.19)
    multi_json (1.4.0)
    polyglot (0.3.3)
    rack (1.4.1)
    rack-cache (1.2)
      rack (>= 0.4)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.2)
      rack (>= 1.0)
    rails (3.2.9)
      actionmailer (= 3.2.9)
      actionpack (= 3.2.9)
      activerecord (= 3.2.9)
      activeresource (= 3.2.9)
      activesupport (= 3.2.9)
      bundler (~> 1.0)
      railties (= 3.2.9)
    railties (3.2.9)
      actionpack (= 3.2.9)
      activesupport (= 3.2.9)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (>= 0.14.6, < 2.0)
    rake (10.0.2)
    rdoc (3.12)
      json (~> 1.4)
    sass (3.2.3)
    sass-rails (3.2.5)
      railties (~> 3.2.0)
      sass (>= 3.1.10)
      tilt (~> 1.3)
    sprockets (2.2.2)
      hike (~> 1.2)
      multi_json (~> 1.0)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sqlite3 (1.3.6)
    thor (0.16.0)
    tilt (1.3.3)
    treetop (1.4.12)
      polyglot
      polyglot (>= 0.3.1)
    tzinfo (0.3.35)
    uglifier (1.3.0)
      execjs (>= 0.3.0)
      multi_json (~> 1.0, >= 1.0.2)

PLATFORMS
  ruby

DEPENDENCIES
  coffee-rails (~> 3.2.1)
  jquery-rails
  rails (= 3.2.9)
  sass-rails (~> 3.2.3)
  sqlite3
  uglifier (>= 1.0.3)

Gemfile looks like this: Gemfile看起来像这样:

source 'https://rubygems.org'

gem 'rails', '3.2.9'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

#gem 'sqlite3-ruby', '1.2.5', :group => development

gem 'pg'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

I did the following to get my repository on github to be pushed to my subdomain on heroku (which I made by doing 'heroku create' in iterm), but it failed: 我做了以下操作,以便将我在github上的存储库推送到heroku上的子域(我在iterm中执行'heroku create'),但它失败了:

new-host:testing3 admin$ git push heroku master
Counting objects: 72, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (58/58), done.
Writing objects: 100% (72/72), 26.90 KiB, done.
Total 72 (delta 8), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.2.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
       You are trying to install in deployment mode after changing
       your Gemfile. Run `bundle install` elsewhere and add the
       updated Gemfile.lock to version control.
       You have added to the Gemfile:
       * pg
       You have deleted from the Gemfile:
       * sqlite3
 !
 !     Failed to install gems via Bundler.
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

To git@heroku.com:limitless-thicket-9719.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:limitless-thicket-9719.git'
new-host:testing3 admin$ 

I did the following, because I installed postgres so that it is in my Applications folder and is named Postgres.app: 我做了以下操作,因为我安装了postgres,因此它位于我的Applications文件夹中,并命名为Postgres.app:

new-host:testing3 admin$ gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Using config values from /Applications/Postgres.app/Contents/MacOS/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** 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}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/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
    --with-pqlib
    --without-pqlib
    --with-libpqlib
    --without-libpqlib
    --with-ms/libpqlib
    --without-ms/libpqlib


Gem files will remain installed in /Users/admin/.rvm/gems/ruby-1.9.3-p327/gems/pg-0.14.1 for inspection.
Results logged to /Users/admin/.rvm/gems/ruby-1.9.3-p327/gems/pg-0.14.1/ext/gem_make.out
new-host:testing3 admin$ --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
-bash: --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: No such file or directory
new-host:testing3 admin$ --with-pg
-bash: --with-pg: command not found
new-host:testing3 admin$ --without-pg
-bash: --without-pg: command not found
new-host:testing3 admin$ --with-pg-dir
-bash: --with-pg-dir: command not found
new-host:testing3 admin$ --without-pg-dir
-bash: --without-pg-dir: command not found
new-host:testing3 admin$ --with-pg-include
-bash: --with-pg-include: command not found
new-host:testing3 admin$ --without-pg-include=${pg-dir}/include
-bash: --without-pg-include=dir/include: No such file or directory
new-host:testing3 admin$ --with-pg-lib
-bash: --with-pg-lib: command not found
new-host:testing3 admin$ --without-pg-lib=${pg-dir}/lib
-bash: --without-pg-lib=dir/lib: No such file or directory
new-host:testing3 admin$ --with-pg-config
-bash: --with-pg-config: command not found
new-host:testing3 admin$ --with-pqlib
-bash: --with-pqlib: command not found
new-host:testing3 admin$ --without-pqlib
-bash: --without-pqlib: command not found
new-host:testing3 admin$ --with-libpqlib
-bash: --with-libpqlib: command not found
new-host:testing3 admin$ --without-libpqlib
-bash: --without-libpqlib: command not found
new-host:testing3 admin$ --with-ms/libpqlib
-bash: --with-ms/libpqlib: No such file or directory
new-host:testing3 admin$ --without-ms/libpqlib
-bash: --without-ms/libpqlib: No such file or directory
new-host:testing3 admin$ 
new-host:testing3 admin$ 
new-host:testing3 admin$ Gem files will remain installed in /Users/admin/.rvm/gems/ruby-1.9.3-p327/gems/pg-0.14.1 for inspection.
ERROR:  While executing gem ... (RuntimeError)
    Unknown command files
new-host:testing3 admin$ Results logged to /Users/admin/.rvm/gems/ruby-1.9.3-p327/gems/pg-0.14.1/ext/gem_make.out

When I do this: 当我这样做:

new-host:testing3 admin$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Using rake (10.0.2) 
Using i18n (0.6.1) 
Using multi_json (1.4.0) 
Using activesupport (3.2.9) 
Using builder (3.0.4) 
Using activemodel (3.2.9) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.1) 
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.9) 
Using mime-types (1.19) 
Using polyglot (0.3.3) 
Using treetop (1.4.12) 
Using mail (2.4.4) 
Using actionmailer (3.2.9) 
Using arel (3.0.2) 
Using tzinfo (0.3.35) 
Using activerecord (3.2.9) 
Using activeresource (3.2.9) 
Using bundler (1.2.3) 
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.5) 
Using rdoc (3.12) 
Using thor (0.16.0) 
Using railties (3.2.9) 
Using coffee-rails (3.2.2) 
Using jquery-rails (2.1.4) 
Installing pg (0.14.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb 
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** 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}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/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
    --with-pqlib
    --without-pqlib
    --with-libpqlib
    --without-libpqlib
    --with-ms/libpqlib
    --without-ms/libpqlib


Gem files will remain installed in /Users/admin/.rvm/gems/ruby-1.9.3-p327/gems/pg-0.14.1 for inspection.
Results logged to /Users/admin/.rvm/gems/ruby-1.9.3-p327/gems/pg-0.14.1/ext/gem_make.out
An error occurred while installing pg (0.14.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.

What is happening is that you're trying to push to the live server when your local gems are not properly configured based on changes you've made to your Gemfile. 发生的事情是,当您根据您对Gemfile所做的更改未正确配置本地gem时,您正试图推送到实时服务器。

The last error message suggestion, making sure that gem install pg works is a good one. 最后一条错误消息建议,确保gem install pg工作正常。 First, you should probably totally uninstall Postgres. 首先,你应该完全卸载Postgres。 Then, install Postgres.app from http://postgresapp.com -- this is the easiest way to get it running. 然后,从http://postgresapp.com安装Postgres.app - 这是让它运行的最简单方法。

Once that's installed and you can properly connect to it using command line tools, try running gem install pg and see if that works. 一旦安装完毕并且您可以使用命令行工具正确连接它,请尝试运行gem install pg并查看是否有效。 If it does, run bundle install and it should complete successfully. 如果是,请运行bundle install ,它应该成功完成。 Once that's working, you should be able to push to heroku without problems. 一旦它工作,你应该能够毫无问题地推送到heroku。

export ARCHFLAGS='-arch x86_64'
export PATH=/Library/PostgreSQL/9.1/bin:${PATH}
gem install pg

Go to Gemfile in your project folder, open it up in your editor and make it look like this: 转到项目文件夹中的Gemfile,在编辑器中打开它,使其如下所示:

source 'https://rubygems.org'

gem 'rails', '3.2.9'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

#gem 'sqlite3-ruby', '1.2.5', :group => development

group :production do
  gem 'pg'
end

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

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

save the file 保存文件

run bundle install --without production 运行捆绑安装 - 没有生产

git add . git add。

git commit -a -m "Heroku recommit" git commit -a -m“Heroku重新发送”

git push git push

git push heroku master git push heroku master

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM