0

我在山狮。我的用户名是管理员。

更新!!!在终端运行接下来的三行之后 - 一切都很好!

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

当我尝试做 git push heroku master 时。它失败。我有这么多麻烦。我不知道该怎么办。

'which heroku'导致/usr/bin/heroku

哪个 git导致/usr/local/git/bin/git

ruby -v生成ruby​​ 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.
4

2 回答 2

2

发生的情况是,当您的本地 gem 未根据您对 Gemfile 所做的更改正确配置时,您正试图推送到实时服务器。

最后一条错误消息建议,确保gem install pg可行。首先,您可能应该完全卸载 Postgres。然后,从http://postgresapp.com安装 Postgres.app——这是让它运行的最简单方法。

安装完成后,您可以使用命令行工具正确连接到它,尝试运行gem install pg并查看是否有效。如果是这样,运行bundle install它应该成功完成。一旦它起作用了,你应该能够毫无问题地推送到heroku。

于 2012-12-10T06:20:31.973 回答
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'

保存文件

运行 bundle install -- 不生产

混帐添加。

git commit -a -m "Heroku 重新提交"

git 推送

git push heroku 大师

于 2012-12-10T07:33:29.813 回答