Railsチュートリアル

Rails チュートリアル メモ 第1章

チュートリアルページ

必要だったライブラリ

各種 Gem をインストールする前に

  • readline-devel
  • sqlite-devel

の2つが必要だった。
環境によって違うと思うが、エラーメッセージに大抵ちゃんと書いてあるので、それを見て足りないものを適宜入れれば OK。

rails new 時に Gem がグローバルインストールされないようにする

チュートリアルに沿って無邪気に rails new すると、プロジェクトのデフォルト Gem (Puma とか) がグローバル領域にごっそりインストールされる。できればプロジェクトの vendor 配下に入れたい。

そこで、rails new 時に bundle install を実行しないようにして、パスを指定しつつ手で bundle install する。

gem install rails -v 5.1.4
rails new hello_app --skip-bundle
cd hello_app
bundle install --path vendor/bundle

あるいは、そもそも rails をプロジェクトディレクトリ内にインストールしてもよい。こうすれば、プロジェクトごとに異なるバージョンの rails を使うことができる。ただし rails コマンドの前に bundle exec が必要になる。

mkdir hello_app
cd    hello_app

bundle init
echo "gem 'rails', '~> 5.1.4'" >> Gemfile

bundle install --path vendor/bundle
bundle exec rails new .

うっかり pg gem の追加を忘れて git push heroku すると若干面倒なことになる

Gemfile に pg Gem を使う旨を書かずに heroku にデプロイすると、 https://qiita.com/taumu/items/b09ec1afd7a3b9c0edbf と同じエラーが起きる。

上記リンク先では設定変更で対応しているが、一度 heroku 上でアプリを消して、Gemfile の修正をコミットしてからデプロイすると、database.yml を変えなくても正常に動作する。なぜ database.yml を変えなくても正常に動作するのかは、https://qiita.com/youmts/items/39c3f4f8106c0968d57e が詳しい。