🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3373閲覧

gemのpgがインストールできない。

nika_nika

総合スコア38

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/12/29 01:38

編集2020/12/29 01:56

環境
macOS Catalina 10.15.6
psql (PostgreSQL) 13.1

ローカルでbundleのエラーが出るようになりました。

怪しいエラー文

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/nikawadori/my_portfolio/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/ext /Users/nikawadori/.rbenv/versions/2.7.1/bin/ruby -I /Users/nikawadori/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20201229-67038-1gzi00c.rb extconf.rb --with-pg-config\=/usr/pgsql-13.1/bin/pg_config Using config values from /usr/pgsql-13.1/bin/pg_config sh: /usr/pgsql-13.1/bin/pg_config: No such file or directory

エラー文全体

Fetching pg 1.2.3 Installing pg 1.2.3 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/nikawadori/my_portfolio/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/ext /Users/nikawadori/.rbenv/versions/2.7.1/bin/ruby -I /Users/nikawadori/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20201229-67038-1gzi00c.rb extconf.rb --with-pg-config\=/usr/pgsql-13.1/bin/pg_config Using config values from /usr/pgsql-13.1/bin/pg_config sh: /usr/pgsql-13.1/bin/pg_config: No such file or directory sh: /usr/pgsql-13.1/bin/pg_config: No such file or directory 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... yes checking for PQsetSingleRowMode()... yes checking for PQconninfo()... yes checking for PQsslAttribute()... yes checking for PQresultVerboseErrorMessage()... yes checking for PQencryptPasswordConn()... yes checking for PQresultMemorySize()... yes checking for timegm()... yes checking for rb_gc_adjust_memory_usage()... yes checking for unistd.h... yes checking for inttypes.h... yes checking for C99 variable length arrays... yes creating extconf.h creating Makefile current directory: /Users/nikawadori/my_portfolio/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3/ext make "DESTDIR=" clean 3 warnings generated. compiling pg_errors.c compiling pg_record_coder.c pg_record_coder.c:196:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] strlen = RSTRING_LEN(subint); ~ ^~~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1007:6: note: expanded from macro 'RSTRING_LEN' RSTRING_EMBED_LEN(str) : \ ^~~~~~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1003:6: note: expanded from macro 'RSTRING_EMBED_LEN' (long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pg_record_coder.c:196:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] strlen = RSTRING_LEN(subint); ~ ^~~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1008:28: note: expanded from macro 'RSTRING_LEN' RSTRING(str)->as.heap.len) ~~~~~~~~~~~~~~~~~~~~~~^~~ 2 warnings generated. compiling pg_result.c compiling pg_text_decoder.c compiling pg_text_encoder.c pg_text_encoder.c:194:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] len = out - start; ~ ~~~~^~~~~~~ pg_text_encoder.c:406:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] return optr - out; ~~~~~~ ~~~~~^~~~~ pg_text_encoder.c:410:12: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] return 2 + RSTRING_LEN(*intermediate) * 2; ~~~~~~ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pg_text_encoder.c:617:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] nr_elems = RARRAY_LEN(value); ~ ^~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1070:23: note: expanded from macro 'RARRAY_LEN' #define RARRAY_LEN(a) rb_array_len(a) ^~~~~~~~~~~~~~~ 4 warnings generated. compiling pg_tuple.c pg_tuple.c:482:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] num_fields = RARRAY_LEN(values); ~ ^~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1070:23: note: expanded from macro 'RARRAY_LEN' #define RARRAY_LEN(a) rb_array_len(a) ^~~~~~~~~~~~~~~ 1 warning generated. compiling pg_type_map.c compiling pg_type_map_all_strings.c compiling pg_type_map_by_class.c compiling pg_type_map_by_column.c pg_type_map_by_column.c:161:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] return dec_func( p_coder, RSTRING_PTR(field_str), RSTRING_LEN(field_str), 0, fieldno, enc_idx ); ~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1007:6: note: expanded from macro 'RSTRING_LEN' RSTRING_EMBED_LEN(str) : \ ^~~~~~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1003:6: note: expanded from macro 'RSTRING_EMBED_LEN' (long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pg_type_map_by_column.c:161:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] return dec_func( p_coder, RSTRING_PTR(field_str), RSTRING_LEN(field_str), 0, fieldno, enc_idx ); ~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1008:28: note: expanded from macro 'RSTRING_LEN' RSTRING(str)->as.heap.len) ~~~~~~~~~~~~~~~~~~~~~~^~~ pg_type_map_by_column.c:230:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] conv_ary_len = RARRAY_LEN(conv_ary); ~ ^~~~~~~~~~~~~~~~~~~~ /Users/nikawadori/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:1070:23: note: expanded from macro 'RARRAY_LEN' #define RARRAY_LEN(a) rb_array_len(a) ^~~~~~~~~~~~~~~ 3 warnings generated. compiling pg_type_map_by_mri_type.c compiling pg_type_map_by_oid.c compiling pg_type_map_in_ruby.c compiling pg_util.c pg_util.c:119:24: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] return (char*)out_ptr - out; ~~~~~~ ~~~~~~~~~~~~~~~^~~~~ 1 warning generated. linking shared-object pg_ext.bundle ld: warning: argument missing after -rpath ld: file not found: dynamic_lookup clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [pg_ext.bundle] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/nikawadori/my_portfolio/vendor/bundle/ruby/2.7.0/gems/pg-1.2.3 for inspection. Results logged to /Users/nikawadori/my_portfolio/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/pg-1.2.3/gem_make.out An error occurred while installing pg (1.2.3), and Bundler cannot continue. Make sure that `gem install pg -v '1.2.3' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: pg

### 試したこと
・gem install pg -v '1.2.3' --source 'https://rubygems.org/'
・gem install pg
・Rubyのバージョン確認
・brew install postgresql
・他には、configを指定してpgをインストールしてbundleをしてみましたが、エラーが出てしまいます。

pg単体でのインストールは可能ですが、bundleになるとエラーになる。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/12/29 01:40

タイトルの「3日目」は何を伝えたいのでしょうか? もし「ハマって3日目」だったとしても、その3日目間の間何をしたかきちんと書かないと、何も伝わりません。
nika_nika

2020/12/29 01:42

確かに伝わらないですね。ありがとうごいざます
hoshi-takanori

2020/12/29 01:52

「3日目」のような余計な情報はスルーすればいいだけですが、お使いの OS の種類やバージョンという大事な情報が抜けてます。また、PostgreSQL のインストール先は /usr/pgsql-13.1 で間違いないでしょうか?
nika_nika

2020/12/29 01:59

確認したところ、/usrの中にpgsql-13.1 が見当たりませんでした。
nika_nika

2020/12/29 01:59

/usr % ls X11 bin libexec sbin standalone X11R6 lib local share こんな感じになっています。
hoshi-takanori

2020/12/29 02:01

PostgreSQL はどうやってインストールしましたか?
nika_nika

2020/12/29 02:02

brew install postgresqlで行いました
nika_nika

2020/12/29 02:05

余談ですが、brew search postgresqlで、@12がインストールできますと書かれてて brew install postgresql@12を行うも、postgresql13.1になりました。
hoshi-takanori

2020/12/29 02:05

でしたら pg_config は /usr/local/bin/pg_config にあるはずなので、それでお試しください。
nika_nika

2020/12/29 02:09

glibtool pg_config wheel3 /usr/local/binの中にこれが合ったのですが、当たっていますか?
nika_nika

2020/12/29 02:27

bundle config build.pg --with-pg-config\=/usr/local/bin/pg_config で設定後に bundleで解決できました!ありがとうございます!
nika_nika

2020/12/29 02:29

ベストアンサーにしたいのですがここからはできないですか?
hoshi-takanori

2020/12/29 02:40

解決してよかったです。回答欄に書きます。
guest

回答1

0

ベストアンサー

PostgreSQL を brew install postgresql でインストールした場合、pg_config は /usr/local/bin/pg_config にあるはずなので、それでお試しください。

投稿2020/12/29 02:41

hoshi-takanori

総合スコア7899

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nika_nika

2020/12/29 02:45

pg_configのインストール先が分かりませんでしたが、解決できました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問