ニートのMEMO

ニート生活をしたかった社会人がネットワークやサーバ、プログラミングなどについて勉強したことをメモとして残しているブログです。

rails tutorial memo (rails server)

前回までの記事

  1. rails tutorial memo (rails 開発環境構築) - ニートのMEMO
  2. rails tutorial memo (Gemfile書き方) - ニートのMEMO

rails server コマンド

  • rails application の起動コマンド
  • rails new / bundle install で rails の環境構築が終わっている状態で実行すると rails app が起動する
  • ブラウザで http://localhost:3000 にアクセスすると rails app が見られる f:id:katoko-o:20200502233359p:plain

webpacker

  • rails 6.0 から標準化
  • webpakcer とは webpack を Ruby でも使えるようにしたもの
  • webpack とは Webコンテンツを構成するファイルを「モジュール」という単位で取り扱い、最適な形に作り変える為のツール
  • 設定変更時の画面のオートリロードをやってくれる
  • bundle exec rails webpacker:install などで install することができる
    参考
  • 超初心者がwebpackerについて調べてみたぞ - Qiita
  • はじめてのWebpack - Qiita

rails tutorial memo (Gemfile書き方)

前回の rails tutorial memo

katoko.hatenablog.com

Gemfile とは

  • Ruby で利用する gem package の管理をするファイル
  • gem package ごとのバージョンを制御することができる
  • Gemfile があるとローカルでは動くけどサーバ上で deploy したら動かないということがなくなる(なくなるは言いすぎかもしれない)

Gemfile の書き方

  • bundle init / rails new をすると Gemfile が作成される

Gemfile

# 最新バージョンの rails がインストールされる
gem 'rails'

# 6.0.0 以上の最新バージョンの rails がインストールされる
gem 'rails', '>= 6.0.0'

# 6.0.x の最新バージョンがインストールされる
gem 'rails', '~> 6.0.0'

gem install

# Gemfile があるディレクトリ
bundle config set path 'vendor/bundle'
bundle install
-> Gemfile.lock が作成される
  • rails tutorial 1.3.2 でうまく bundle install できない場合

rails tutorial memo (rails 開発環境構築)

開発環境

  • macOS Catalina version 10.15.3

目標

  • rails tutorial を始められる環境の準備を Mac 上に構築する

環境構築

git がない場合

# install brew
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

# install git
$ brew install git

script install

# script install
curl -LSfs https://raw.githubusercontent.com/katoko-o/dotfiles/master/install.sh | bash

たぶん失敗するので以下で install

# setup
bin/dotfiles setup-osx

必要な package の 確認

katoko:~$ anyenv --version                                                                                                                                               
anyenv 1.1.1
katoko:~$ rbenv --version                                                                                                                                                 
rbenv 1.1.2-30-gc879cb0
katoko:~$ ruby --version 
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
katoko:~$ bundle --version                                                                                                                                                
Bundler version 2.1.4                                                                                                                                                 
katoko:~$ yarn --version                                                                                                                                                  
1.22.4
katoko:~$ node --version
v12.16.3
  • nodejs については LTS を手動で入れる必要がある
node install [version]
node global [version]
exec $SHELL -l

rails app の作成

bundle init

katoko:~$ mkdir rails_tutorial && cd rails_tutorial
katoko:~/rails_tutorial$ bundle init
-> Gemfile ができる

bundle install

# gem "rails" のコメントアウトを外す
katoko:~/rails_tutorial$ cat Gemfile                                                                                                                                                    
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "rails"
katoko:~/rails_tutorial$ bundle config set path 'vendor/bundle'
katoko:~/rails_tutorial$ bundle install
-> Gemfile.lock が作成される

rails new (rails app の作成)

katoko:~/rails_tutorial$ rails new hello_app
-> hello_app が作成される