🐑
GCP環境に合わせてRailsの開発環境を構築する〜Ruby2.7, Rails6.2.3,PostgreSQL12〜
GCP環境に合わせてRailsの開発環境を構築する
目次
- 想定する本番環境
- Rubyのインストール
- PostgreSQLのインストール
- Railsのインストール
想定する本番環境
Google Cloud Platform
アプリをのせる環境です。ローカル環境に影響しないものは省略。
項目 | サービス |
---|---|
Webサーバー | Google App Engin |
RDB | Google Cloud SQL(Postgres) |
構築するローカル環境
今回構築するローカルの環境は、DockerやVagrantなどは使用せず、Mac本体に構築していきます。
項目 | バージョン | |
---|---|---|
Ruby | 2.7.2 | GAEが対応している最新バージョンが2.7系 |
PostgreSQL | 12.6 | CloudSQLのデフォルトバージョンが12系 |
Rails | 6.1.3 | Railsの最新バージョン |
Rubyのインストール
rbenv
rbenvのインストール方法は省略
2.7.2をインストール
$ rbenv install --list-all | grep 2.7
1.8.6-p287
2.0.0-p247
2.2.7
2.7.0-dev
2.7.0-preview1
2.7.0-preview2
2.7.0-preview3
2.7.0-rc1
2.7.0-rc2
2.7.0
2.7.1
2.7.2
jruby-9.2.7.0
rbx-2.2.7
rbx-2.7
rbx-2.71828182
$ rbenv install 2.7.2
$ rbenv global 2.7.2
$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin19]
PostgreSQLのインストール
PostgreSQLをインストール
$ brew search postgres
==> Formulae
check_postgres postgresql postgresql@10 postgresql@11 postgresql@12 postgresql@9.4 postgresql@9.5 postgresql@9.6 postgrest
==> Casks
navicat-for-postgresql postgres postgrespreferencepane sqlpro-for-postgres homebrew/cask-versions/postgres-beta
$ brew install postgresql@12
PostgreSQLを使えるように設定
@
をつけてバージョン指定したPostgreSQLはそのままだとPATHが通っておらず使用できない。
ローカルの環境にPostgreSQLが正しく設定できていないと、bundle install
でこけるため、設定する。
# 設定できていないからpsqlコマンドが使えない
$ psql —version
-bash: psql: command not found
brewパスを通すため、brew info
でインストール情報を確認。
$ brew info postgresql@12
postgresql@12: stable 12.6 (bottled) [keg-only]
Object-relational database system
https://www.postgresql.org/
/usr/local/Cellar/postgresql@12/12.6_1 (3,225 files, 41.7MB)
Poured from bottle on 2021-03-10 at 22:47:38
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/postgresql@12.rb
License: PostgreSQL
==> Dependencies
Build: pkg-config ✔
Required: icu4c ✔, krb5 ✔, openssl@1.1 ✔, readline ✔
==> Caveats
This formula has created a default database cluster with:
initdb --locale=C -E UTF-8 /usr/local/var/postgresql@12
For more details, read:
https://www.postgresql.org/docs/12/app-initdb.html
postgresql@12 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have postgresql@12 first in your PATH, run:
echo 'export PATH="/usr/local/opt/postgresql@12/bin:$PATH"' >> /Users/hogeuser/.bash_profile
For compilers to find postgresql@12 you may need to set:
export LDFLAGS="-L/usr/local/opt/postgresql@12/lib"
export CPPFLAGS="-I/usr/local/opt/postgresql@12/include"
For pkg-config to find postgresql@12 you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/postgresql@12/lib/pkgconfig"
To have launchd start postgresql@12 now and restart at login:
brew services start postgresql@12
Or, if you don't want/need a background service you can just run:
pg_ctl -D /usr/local/var/postgresql@12 start
==> Analytics
install: 14,693 (30 days), 32,591 (90 days), 58,050 (365 days)
install-on-request: 14,392 (30 days), 31,721 (90 days), 56,936 (365 days)
build-error: 0 (30 days)
If you need to have postgresql@12 first in your PATH, run:
echo 'export PATH="/usr/local/opt/postgresql@12/bin:$PATH"' >> /Users/hogeuser/.bash_profile
表示されている通り、コマンドを実行する。
$ echo 'export PATH="/usr/local/opt/postgresql@12/bin:$PATH"' >> /Users/hogeuser/.bash_profile
# .bash_profileの更新を反映(ターミナルの再起動でもOK)
$ source ~/.bash_profile
# インストールできたか確認
$ psql -V
psql (PostgreSQL) 12.6
起動
$ pg_ctl start -D /usr/local/var/postgresql@12
接続
$ psql -d postgres
Railsのインストール
$ gem install -v 6.1.3 rails
Discussion