🔥

[Ruby on Rails] Hotwire チュートリアルのインストールでつまづく

2023/11/14に公開

いままで Ruby on Rails を勉強したことがなかったので、このタイミングで入門してみました!

その際に、Hotwire というフロントエンドを便利に実装できるツールがあると知り、チュートリアルを始めてみようとしたのですが、インストールでいきなり詰まりました。。。

本記事では何でハマった箇所と解決方法を記載させていただきます。

発生した事象

Hotwire のチュートリアルにて、以下コマンドでプロジェクトを新規作成を試みました!

rails new quote-editor --css=sass --javascript=esbuild --database=postgresql

すると、以下のようなエラーが。。。

An error occurred while installing pg (1.5.4), and Bundler cannot
continue.

In Gemfile:
pg
run bundle binstubs bundler
Could not find gem 'pg (~> 1.1)' in locally installed gems.
rails javascript:install:esbuild
Could not find gem 'pg (~> 1.1)' in locally installed gems.
Run bundle install to install missing gems.
rails turbo:install stimulus:install
Could not find gem 'pg (~> 1.1)' in locally installed gems.
Run bundle install to install missing gems.
rails css:install:sass
Could not find gem 'pg (~> 1.1)' in locally installed gems.
Run bundle install to install missing gems.

とりあえず、エラーもよく読まずに、最後の行に書いてあるように bundle install してみるかと試してみました。

cd quote-editor
bundle install --path=vendor/bundle

お察しの通り、エラーもまともに読まなかったので、再度エラーに出くわしてしまいました

An error occurred while installing pg (1.5.4), and Bundler cannot
continue.

In Gemfile:
pg

なにやら pg という gem のインストールで失敗している。。。

原因

ここではじめてちゃんとエラーを読むことにしました (もっと早く確認しなさい!というのはごもっとも。。。)

よくみると、もう少しスクロールアップしたところに以下のような文言がありました。

Unable to find PostgreSQL client library.

本チュートリアルでは postgresql を利用しているため、OS に事前にインストールしておく必要があるようででした。

解決方法

PostgreSQL をインストールすることで解決しました。私の場合では Mac を利用しているので、以下コマンドで postgresql をインストール、

brew install postgresql

そして、再度インストールを試みたところ。。。

bundle install --path=/vendor/bundle

Installing pg 1.5.4 with native extensions
Bundle complete! 15 Gemfile dependencies, 75 gems now installed.
Bundled gems are installed into ./vendor/bundle

無事にインストール完了しました!

おわりに

少しでもエラーが出た時はその時に確認すべきだなと、もう何回目かわからないのですが、再認識した今日この頃でしたー。(きっとまた忘れるんだろうな...)

Discussion