我在部署简单的rails3.1应用程序时遇到了很多麻烦。似乎有两个主要问题。
基本上,我希望我的开发部署工作流程尽可能无缝。任何人都可以推荐最好的方式来设置我的开发环境,这样当我$ git推送heroku时,一切正常。
我想最好在开发环境中使用postgresql,任何人都知道如何设置它的好帖子?
我应该使用独角兽吗?瘦?
我是否应该使用我可能没有听说过的任何其他宝石?
我感到很沮丧,因为我已经达到了可以在开发环境中构建非常酷的东西,但不知道如何在线获取应用程序。也许我看这一切都错了。让我知道。
我尝试这样做时出现此错误:
group :production do
gem 'pg'
end
Installing pg (0.11.0) with native extensions /home/work/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/home/work/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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=/home/work/.rvm/rubies/ruby-1.9.2-p290/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
答案 0 :(得分:1)
我有这个问题,但我改为雪松堆,这似乎解决了资产问题。至于DB,只需指定
即可group :production do
gem 'pg'
end
宝石文件中的
答案 1 :(得分:1)
在提交之前运行以下内容以预编译资产:
$> bundle exec rake assets:precompile
除了放置
之外,您不需要为heroku数据库设置任何内容gem 'pg'
在gemfile的生产部分。它自己完全了解所有其余部分。
我使用了一些不错的技巧:
$> heroku db:push
$> heroku db:pull
了解推送& amp;拉here
我在mysql本地开发,因为它有最好的前端恕我直言,但你也可以使用sqlite3或postgres,这取决于你想在原始表中工作多少。
答案 2 :(得分:0)
实际上,我使用了您的两个答案中的信息来使其发挥作用。我的资产问题已通过bundle exec rake assets:precompile
解决,我的数据库问题已由
group :production do
gem 'pg'
end
并添加此内容:
group :development do
gem 'sqlite3'
end