2011-06-29 41 views
4

也許我錯過了很明顯的東西,但是,我正在開發一個應用程序,現在我們想要在heroku上運行。我開發使用MySQL。我沒有或不想在這裏在我的機器上安裝postgres。heroku - 我不想在本地安裝postgres!

我有這個在我的Gemfile:

gem 'mysql2', '~>0.2.6', :group => :development 
gem "pg", :group => :production 

然而,當我做了捆綁安裝我的本地計算機上 - 開發 - 我看到這一點:

Installing pg (0.11.0) with native extensions /Users/smyp/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/installer.rb:533:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) 

/Users/smyp/.rvm/rubies/ree-1.8.7-2011.03/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 *** 

這是我會因爲我本地沒有postgres ......但爲什麼要安裝它?這不是打敗了團體的目的嗎?

+0

Postgres有什麼問題?我將它安裝在我的機器上,而且非常簡單。 –

+0

這不是問題的關鍵(儘管我更喜歡mysql,並且沒有看到需要在我的機器上安裝2個數據庫)。 – phil

+0

我正在和一名設計師合作,讓一個在sqlite3上運行的Rails應用程序要簡單得多。沒有必要讓她通過安裝pg的麻煩(雖然沒有那麼糟糕,它仍然是額外的命令行工作) – sbeam

回答

16

使用bundle install --without production

+0

謝謝 - 所以我確實錯過了一些明顯的東西!對我來說,這似乎有點愚蠢,但這是它的完成方式,但是我們很樂意。 – phil

+1

捆綁器的重點在於以最小的麻煩複制開發和生產環境。我建議你在你的開發機器上安裝postgres以避免生產中的sql錯誤。如果你使用的是使用自制軟件的osx,那麼它是完全瑣碎的。與大多數現代Linux軟件包管理一樣。 Windows我不知道。 – mark

+1

這通常很好,如果你沒有在軌道上漫遊,只是堅持activerecord查詢,但一旦你開始做findbysql,那麼你需要使用你將部署應用程序的數據庫平臺。另外如果你使用一些寶石,你需要小心,我使用了一個acts_as_taggable寶石,在本地工作很好,在Heroku上慘敗失敗,因爲它具有特定於平臺的SQL。 –