2013-02-23 34 views
0

所以,我想改变我的应用程序,本地SQLite3上运行良好Postgresql,所以我可以部署到Heroku。 我已经看过各种帖子和教程,并对我的Gem文件和database.yml文件进行了调整,但是当我尝试耙动:db migrate时,出现错误消息:“请安装postgresql适配器。”我知道大多数用户在他们的gem文件中不包括gem'pg'时会遇到这种情况,但我确实包含了它。试图部署到heroku和切换sqlite - > pg-错误当我耙:db

这是完整的错误消息我得到:http://dpaste.com/hold/972379/

能否请你帮忙吗?我真的看了几十个帖子,并尝试过每一个配置。

我procfile看起来是这样的:

web: bundle exec thin start -p $PORT 

我的database.yml看起来是这样的:

development: 
    adapter: postgresql 
    encoding: utf8 
    database: project_development 
    pool: 5 
    username: 
    password: 

test: &TEST 
    adapter: postgresql 
    encoding: utf8 
    database: project_test 
    pool: 5 
    username: 
    password: 

production: 
    adapter: postgresql 
    encoding: utf8 
    database: project_production 
    pool: 5 
    username: 
    password: 

我的Gemfile看起来是这样的:

source 'https://rubygems.org' 

gem 'rails', '3.2.11' 

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

gem 'thin' 
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. 

宝石“jQuery的轨'

# 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' 

一个注意:当我运行捆绑安装,“使用PG”不来了,但我认为这是因为它不是在生产...只是FYI的情况下,它是很重要的

编辑: 宝石皮克似乎用heroku在生产中运行良好。不知道发生了什么,因为一旦它被部署,它就不起作用。这是我的Heroku的日志(我已经采取了我的电子邮件):

2013-02-23T05:37:08+00:00 heroku[api]: Enable Logplex by [email protected] 
2013-02-23T05:37:08+00:00 heroku[api]: Release v2 created by [email protected] 
2013-02-23T05:37:18+00:00 heroku[slugc]: Slug compilation started 
2013-02-23T05:38:28+00:00 heroku[api]: Scale to web=1 by [email protected] 
2013-02-23T05:38:28+00:00 heroku[api]: Attach HEROKU_POSTGRESQL_WHITE resource by [email protected] 
2013-02-23T05:38:28+00:00 heroku[api]: Release v3 created by [email protected] 
2013-02-23T05:38:29+00:00 heroku[api]: Add DATABASE_URL config by [email protected] 
2013-02-23T05:38:29+00:00 heroku[api]: Release v4 created by [email protected] 
2013-02-23T05:38:29+00:00 heroku[api]: Add config by [email protected] 
2013-02-23T05:38:29+00:00 heroku[api]: Release v5 created by [email protected] 
2013-02-23T05:38:29+00:00 heroku[api]: Release v6 created by [email protected] 
2013-02-23T05:38:29+00:00 heroku[api]: Deploy cd00730 by [email protected] 
2013-02-23T05:38:30+00:00 heroku[slugc]: Slug compilation finished 
2013-02-23T05:38:30+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -p 55861` 
2013-02-23T05:38:31+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -p 55416` 
2013-02-23T05:38:31+00:00 app[web.1]: bash: bundle: command not found 
2013-02-23T05:38:32+00:00 heroku[web.1]: Process exited with status 127 
2013-02-23T05:38:34+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5) 
2013-02-23T05:38:34+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5) 
2013-02-23T05:38:34+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5) 
2013-02-23T05:38:37+00:00 app[web.1]: >> Using rack adapter 
2013-02-23T05:38:37+00:00 app[web.1]: Connecting to database specified by DATABASE_URL 
2013-02-23T05:38:37+00:00 app[web.1]: >> Maximum connections set to 1024 
2013-02-23T05:38:37+00:00 app[web.1]: >> Thin web server (v1.5.0 codename Knife) 
2013-02-23T05:38:37+00:00 app[web.1]: >> Listening on 0.0.0.0:55416, CTRL+C to stop 
2013-02-23T05:38:38+00:00 heroku[web.1]: State changed from starting to up 
2013-02-23T05:39:00+00:00 heroku[api]: Starting process with command `bundle exec rake db:migrate` by [email protected] 
2013-02-23T05:39:02+00:00 heroku[run.3422]: Awaiting client 
2013-02-23T05:39:02+00:00 heroku[run.3422]: Starting process with command `bundle exec rake db:migrate` 
2013-02-23T05:39:02+00:00 heroku[run.3422]: State changed from starting to up 
2013-02-23T05:39:07+00:00 heroku[run.3422]: Client connection closed. Sending SIGHUP to all processes 
2013-02-23T05:39:08+00:00 heroku[run.3422]: Process exited with status 0 
2013-02-23T05:39:08+00:00 heroku[run.3422]: State changed from up to complete 
2013-02-23T05:39:14+00:00 app[web.1]: Started GET "/" for 67.80.190.0 at 2013-02-23 05:39:14 +0000 
2013-02-23T05:39:15+00:00 app[web.1]: Processing by LooksController#index as HTML 
2013-02-23T05:39:15+00:00 app[web.1]: Rendered looks/index.html.erb within layouts/application (7.7ms) 
2013-02-23T05:39:16+00:00 heroku[router]: at=info method=GET path=/ host=quiet-everglades-5513.herokuapp.com fwd="67.80.190.0" dyno=web.1 queue=0 wait=1ms connect=2ms service=1385ms status=500 bytes=643 
2013-02-23T05:39:16+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=quiet-everglades-5513.herokuapp.com fwd="67.80.190.0" dyno=web.1 queue=0 wait=0ms connect=1ms service=7ms status=200 bytes=0 
2013-02-23T05:39:16+00:00 app[web.1]: 
2013-02-23T05:39:16+00:00 app[web.1]:  5: <%= stylesheet_link_tag "application", :media => "all" %> 
2013-02-23T05:39:16+00:00 app[web.1]:  8: </head> 
2013-02-23T05:39:16+00:00 app[web.1]: Completed 500 Internal Server Error in 925ms 
2013-02-23T05:39:16+00:00 app[web.1]: app/controllers/looks_controller.rb:7:in `index' 
2013-02-23T05:39:16+00:00 app[web.1]:  3: <head> 
2013-02-23T05:39:16+00:00 app[web.1]: ActionView::Template::Error (no such file to load -- uglifier 
2013-02-23T05:39:16+00:00 app[web.1]: (in /app/app/assets/javascripts/application.js)): 
2013-02-23T05:39:16+00:00 app[web.1]: app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___1708027661978307033_32644180' 
2013-02-23T05:39:16+00:00 app[web.1]: 
2013-02-23T05:39:16+00:00 app[web.1]:  6: <%= javascript_include_tag "application" %> 
2013-02-23T05:39:16+00:00 app[web.1]: 
2013-02-23T05:39:16+00:00 app[web.1]:  7: <%= csrf_meta_tags %> 
2013-02-23T05:39:16+00:00 app[web.1]:  9: <body> 
2013-02-23T05:39:16+00:00 app[web.1]:  4: <title>Scout</title> 
+0

你试过从生产组中删除PG,只是把它的默认组中,因此始终安装。当你运行耙子时,你确定你在prod env中运行吗? – 2013-02-23 01:39:18

+0

嗨。如果我将它放在默认组中,则会出现此错误(http://dpaste.com/hold/972650/)。说实话,我并不完全确定你在prod env中运行它的意思;之后我运行db:migrate --trace。我知道我已经跟其他应用程序一起执行了这个通用过程,并且它已经工作。 – user2090411 2013-02-23 02:09:17

回答

0

这里就是你需要做的:

  1. 从这里下载一个命令行工具,为您的Mac OS版本https://developer.apple.com/downloads/index.action

  2. 安装你下载

    命令行工具
  3. 重启终端

  4. 再次运行软件包安装(使用默认组中的pg gem)。

这应该消除安装pg时所得到的错误。得到它安装后再次运行rake db:migrate,它应该工作。

+0

嘿奥斯汀。我非常感谢所有的帮助。我正在运行雪豹。我应该只安装XCode(https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20588),因为Apple dev站点没有任何Snow Leopard的链接,或者我可以通过下载任何命令行的高端操作系统 – user2090411 2013-02-23 02:31:37

+0

,只需使用:https://github.com/kennethreitz/osx-gcc-installer – 2013-02-23 02:35:46

+0

我刚下载并安装它。当我使用默认组中的'pg'gem运行软件包安装时出现同样的错误。啊 – user2090411 2013-02-23 02:57:47

1

您所提供的日志文件中提到了另一种错误

ActionView::Template::Error (no such file to load -- uglifier 
    (in /app/app/assets/javascripts/application.js)): 
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___1708027661978307033_32644180' 

uglifier是用于预编译的资产和优化这些宝石。 默认情况下,我的应用程序在assets组中,这意味着它在生产中不可用。

我对Heroku并不完全熟悉,但他们有一些关于using the asset pipeline的信息,它可能会有一些帮助。你还应该确保你在Heroku "Cedar" stack

或者,如果你不使用的管道资产,disable it

相关问题