gem install pgでbrew install postgresqlしてARCHFLAGS="-arch x86_64"指定しても全く解決せず数時間も悪戦苦闘した
HerokuでデプロイするとなるとSQLiteが使えず、PostgreSQLを使わなければならなくなる。 Cloud9ではなく、そろそろRubymineで本格的に開発しようとしていてbundle installをしたところ、pgで数時間もハマったのである。
結論
sudoでARCHFLAGを指定してさらに場所を指定すると成功する。
sudo ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.5.3/bin/pg_config
bundle installでコケる
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-pg-config=/usr/local/Cellar/postgresql/9.5.3/bin/pg_configARCHFLAGS=-arch x86_64 bundle installz Using config values from /usr/local/Cellar/postgresql/9.5.3/bin/pg_configARCHFLAGS=-arch sh: /usr/local/Cellar/postgresql/9.5.3/bin/pg_configARCHFLAGS=-arch: No such file or directory sh: /usr/local/Cellar/postgresql/9.5.3/bin/pg_configARCHFLAGS=-arch: No such file or directory 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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby --with-pg --without-pg --enable-windows-cross --disable-windows-cross --with-pg-config --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/ Gem files will remain installed in /var/folders/vf/tbdkk_nx5wq0889j7_pdc_pw0000gn/T/bundler20160818-22367-jz3gq8pg-0.18.4/gems/pg-0.18.4 for inspection. Results logged to /var/folders/vf/tbdkk_nx5wq0889j7_pdc_pw0000gn/T/bundler20160818-22367-jz3gq8pg-0.18.4/gems/pg-0.18.4/ext/gem_make.out
sudo gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.5.3/bin/pg_configでもコケる
sudo gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.5.3/bin/pg_config Password: Building native extensions with: '--with-pg-config=/usr/local/Cellar/postgresql/9.5.3/bin/pg_config' This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-pg-config=/usr/local/Cellar/postgresql/9.5.3/bin/pg_config Using config values from /usr/local/Cellar/postgresql/9.5.3/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/2.0/usr/bin/ruby --with-pg --without-pg --enable-windows-cross --disable-windows-cross --with-pg-config --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/ --with-pqlib --without-pqlib --with-libpqlib --without-libpqlib --with-ms/libpqlib --without-ms/libpqlib Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/pg-0.18.4 for inspection. Results logged to /Library/Ruby/Gems/2.0.0/gems/pg-0.18.4/ext/gem_make.out
sudo ARCHFLAGS="-arch x86_64" gem install pgでもコケる
sudo env ARCHFLAGS="-arch x86_64" gem install pg 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/2.0/usr/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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby --with-pg --without-pg --enable-windows-cross --disable-windows-cross --with-pg-config --without-pg-config --with-pg_config --without-pg_config --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/ Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/pg-0.18.4 for inspection. Results logged to /Library/Ruby/Gems/2.0.0/gems/pg-0.18.4/ext/gem_make.out
分けわからないので両方やってみたところ成功
結論を参照
参考
まとめ
Railsは環境構築のだるさが物凄い