LoginSignup
3
2

More than 5 years have passed since last update.

[rails5] postgresqlを選択した時のdb:create エラーとspring起因のエラー。

Last updated at Posted at 2017-02-05

1. db:create エラー

macにて作業。

ruby -v
# => ruby 2.4.0p0
rails -v
# => Rails 5.0.1
rails new myapi --api -T -d postgresql
rails db:create
#  could not connect db (brabrabra)

みたいなエラーが出た。ググってみるといろいろな意見があり、例えば「config/database.ymlのユーザ名とパスワードがデフォルトではコメントアウトされてるからだ」、とか「データベースの所有者にCREATEDB権限がないから付けてみたら」とかいろいろ。実際にそれに従って試したらエラーは解消されたが、最終的にnewしたrailsプロジェクトを全部消してからやり直したら今度はエラーが出なかった。

よくよく考えたら、自分の場合は、postgresqlをインストールすらしていなかった。他にも次のような要因が考えられた。

  • たぶんpostgresqlをインストールしていなかったせい?でpgというgemの新しいバージョンのインストールが失敗したのであとで無理やり入れた。そこらへんでpostgresqlの設定が変になったのかも?
  • postgresqlを起動させていなかった。railsコマンドが勝手にdbを起動してくれる、と思い込んでいた。

以上を踏まえて再度postgresqlをbrew uninstallし、関連ディレクトリも全部消してやり直したらエラーは出なかった。

brew uninstall postgresql
rm -rf /usr/local/var/postgres/
brew install postgresql
rails new myapi --api -T -d postgresql
cd myapi
rails db:create
# => created database 'myapi_development'
# => created database 'myapi_test'

2. springが起因と思われるエラー

cd myapi
rails g scaffold ...

と実行したら、長時間プロンプトがフリーズしてspringのエラーが十数行ぐらい出た。
springを再起動したら今度は動いた。

pwd
# => /../../.../myapi
spring start
spring stop
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2