Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@penguin_dream

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

More than 3 years have passed since last update.

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
2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
penguin_dream
フロントエンド(主にjavascript)、プログラミング、インフラ構築、インフラ運用、CIなどのメモ。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?