[英]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.