americandog1993の日記

プログラマー歴半年のメモ

Railsで本番環境だけpostgresql使いたい設定したら怒られた

ここ数日、自分で環境作ってのRailsアプリ開発に挑戦している。
予想はしてたが、ハマりまくる。
Cloud9って楽だったんだなあ。

Gemfile

source 'https://rubygems.org'

gem 'rails', '5.0.3'
gem 'puma',         '3.9.1'
gem 'bootstrap-sass', '3.3.6'
gem 'sass-rails',   '5.0.6'
gem 'uglifier',     '3.2.0'
gem 'coffee-rails', '4.2.2'
gem 'jquery-rails', '4.3.1'
gem 'turbolinks',   '5.0.1'
gem 'jbuilder',     '2.6.1'
gem 'therubyracer'

group :development, :test do
  gem 'sqlite3', '1.3.13'
  gem 'byebug',  '9.0.6', platform: :mri
end

group :development do
  gem 'web-console',           '3.5.1'
  gem 'listen',                '3.0.8'
end

group :test do
  gem 'rails-controller-testing', '1.0.2'
  gem 'minitest-reporters',       '1.1.14'
end

group :production do
  gem 'pg', '0.18.4'
end

開発環境ではsqliteで、って設定。
これでbundle installしたらpgないぞコラって怒られた。

対処

色々試したのでどれが効いたか正直あやふやなのだけど、
まずおとなしくpostgresqlを入れてみた。

# wget yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
# rpm -ivh pgdg-centos95-9.5-2.noarch.rpm
# yum -y install postgresql95-server postgresql95-devel postgresql95-contrib

が、だめ。
次に--without productionを試した。

$ bundle install --without production

bundle updateしろと出てきたらその通り従う。
これでいけた。