我在山狮上。我的用户名是admin。
的 UPDATE !!!在终端中运行接下来的三行之后 - 一切都很好!
export ARCHFLAGS='-arch x86_64'
export PATH=/Library/PostgreSQL/9.1/bin:${PATH}
gem install pg
当我尝试做git push heroku master。它失败。我遇到了这么多麻烦。我不知道该怎么做。
'哪个heroku'会导致 / usr / bin / heroku
哪个git 会导致 / usr / local / git / bin / git
ruby -v 会导致红宝石1.8.7
我正在运行Postgres版本1.0(11)
我有一个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看起来像这样:
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如下所示:
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'
我做了以下操作,让我的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$
我做了以下操作,因为我安装了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
当我这样做时:
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.
答案 0 :(得分:2)
正在发生的事情是,当您根据您对Gemfile所做的更改未正确配置本地gem时,您正试图推送到实时服务器。
最后一条错误消息建议,确保gem install pg
有效。首先,你应该完全卸载Postgres。然后,从http://postgresapp.com安装Postgres.app - 这是让它运行的最简单方法。
安装完成后,您可以使用命令行工具正确连接到它,尝试运行gem install pg
并查看是否有效。如果是,请运行bundle install
,它应该成功完成。一旦它正常工作,你应该可以毫无问题地推送到heroku。
答案 1 :(得分:0)
export ARCHFLAGS='-arch x86_64'
export PATH=/Library/PostgreSQL/9.1/bin:${PATH}
gem install pg
转到项目文件夹中的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'
保存文件
运行捆绑安装 - 无需生产
git add。
git commit -a -m“Heroku重新发送”
git push
git push heroku master