RubyのCGIをいっこ使いたいがだけのためにずっと惰性で契約していたLaCoocanだが、さすがにお金がもったいない気がするので移行しようかと思う。試して見よう。
移行先はとりあえず、Herokuにしてみますかね。
https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction
を見ながら、やってみることにする。
まず、Herokuのアカウントをとる。
次に、Ruby 2.3.4を入れろというので入れる。
$ brew upgrade rbenv $ rbenv install 2.3.4 $ rbenv global 2.3.4
Bundlerも入れろというので入れる
$ gem install bundler
次に、HerokuのCLIツールをいれろというので、pkgをダウンロードして入れる。
これでherokuコマンドが使えるはずなので、heroku loginと打てと書いてあるが、間違ってherokuとだけ打ってしまった。が、なんか動いて、ユーザー名とパスワードをいれたら、ログインしたぞというようなメッセージがでた。いいのかな?良いことにする。
次に、テンプレをもらってくる。
$ git clone https://github.com/heroku/ruby-getting-started.git
今度はこれをそのままデプロイする。
$ cd ruby-getting-started/ $ heroku create Creating app... done, ⬢ tranquil-savannah-22324 https://tranquil-savannah-22324.herokuapp.com/ | https://git.heroku.com/tranquil-savannah-22324.git
これをすると、ローカルにもgitリポジトリは作られるからねとドキュメントには書いてある。
$ git push heroku master
Warningで「お前のBundlerのバージョンがlockfile作ったときより古いぜ。gem install bundlerし直せよ」と言われる。いや、ついさっき入れたところなんだが・・・Rubyが2.4じゃないから?よくわからない。
これでもう動いているらしい。ログに出ているURLにアクセスすると、画面が出ている。heroku openでも行けるらしい。
さて、このテンプレアプリをローカルでも動かすようにする。railsアプリなのでRDBが必要。
PostgreSQLを入れろと仰っているのでを参考にしてインストール。
$ brew install postgresql
この状態で、Herokuのガイドにあるコマンドを打ってみる。
$ psql -h localhost psql: could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?
サーバが起動してないっすな。
brewでinstallしたときのログに
To have launchd start postgresql now and restart at login: brew services start postgresql Or, if you don't want/need a background service you can just run: pg_ctl -D /usr/local/var/postgres start
と出ていたので、
$ pg_ctl -D /usr/local/var/postgres start
としてから、実行してみると
$ psql -h localhost FATAL: database "tambara" does not exist psql: FATAL: database "tambara" does not exist
メッセージは変わった。DBを作らないといけないっぽい。
まあ、とりあえず先に進んでみようか。
つづく。