1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsポートフォリオサイトを作る #1.rails newからrails sまで

Posted at

Railsを使ったポートフォリオサイトを作るためにやったこと、躓いたこと、工夫したこと等を備忘的にまとめていきます。
レビューアプリとSNS両方の性質を持つ「Revorite」というWebアプリを作っていこうと思います。

rails newの下準備

$ cd ~/projects
$ mkdir revorite
$ cd revorite
$ bundle init

アプリ用ディレクトリを作成し、bundle initGemfileを生成。
こうすることでシステムのgemと分離してアプリ用のgemをbundle管理することができる。

生成されたGemfile# gem "rails"のコメント(#)を以下の通り外しておく。
またバージョン指定が必要な場合ここで指定(今回はrails5.2でインストールする)

Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

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

gem "rails", '~> 5.2.4'

準備ができたら以下コマンドでRailsをインストール。bundler経由(※1)でvendor/bundle配下にgemがインストールされる(※2)。
bundle install --path vendor/bundle

※1: bundler経由でインストールすることで、各種gemのバージョン依存問題が生じないよう、自動で調整してインストールしてくれる。
※2: --path vendor/bundleのオプションは次回以降は不要。自動で指定されるため。

rails newを実行

$ bundle exec rails new . -B -d mysql --skip-test

bundler経由でgemをインストールした場合、rails newもbundler経由で行う必要があるので注意。
new以降のオプションは、「カレントディレクトに(.)」「bundle installはせず(-B)」「データベースにはMySQLを指定し(-d mysql)」「railsのデフォルトのテスト機能(minitest)を使わない(--skip-test)」、を意味する。
他にも指定可能なオプションは多数あるがここでは割愛。
Gemfileを上書きして良いか、と聞かれるのでyesを入力。

各種gemをインストール

Gemfileにインストールする各種gemを記述。

Gemfile
gem 'haml-rails'
gem 'erb2haml'
gem 'font-awesome-sass'
gem 'devise'

後で追加も可能のため、何も記述しなくともOK
ここでbundle installを実行したところ、下記エラーが発生。

Bundler could not find compatible versions for gem "sprockets":
  In snapshot (Gemfile.lock):
    sprockets (= 4.0.0)

  In Gemfile:
    sass-rails (~> 5.0) was resolved to 5.1.0, which depends on
      sprockets (< 4.0, >= 2.8)

    rails (>= 5.2.4.2, ~> 5.2.4) was resolved to 5.2.4.2, which depends on
      sprockets-rails (>= 2.0.0) was resolved to 3.2.1, which depends on
        sprockets (>= 3.0.0)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

Gemfile.lockにはsprocketsは4.0.0とあるけど、sass-railsの5.1.0を使うには4未満(かつ2.8以上)じゃないとダメやぞ!ってことなんだと思う。
bundle updateを実行することでsprocketsのバージョンが自動的に3.7.2に変更され、上述のエラーは解消された。

Gitの登録

各種gemのインストールが終わったところで、Gitのローカルリポジトリを作成し、リモートリポジトリへの紐付け、プッシュまでを行う。
GitHubでリモートリポジトリは事前に作成しておくこと。

ローカルリポジトリの登録

$ git init
$ git add *
$ git commit -m "initial commit" 

リモートリポジトリに紐付け、初回プッシュ

$ git remote add origin https://github.com/345dvl/revorite
$ git push origin master

これで、今回のアプリをGitで管理できるようになりました。
スクールではGitHub Desktopを使ってコミットやプッシュ、プルなど実行していましたが、今回は全てコマンドラインで実行。実務を考えるとどちらも出来た方が良いと思うので、今回のアプリ開発では可能な限りコマンドラインでGit管理していこうと思います。

いざ、起動

Rails含む各種gemのインストールが完了したため、いよいよRailsを起動
rails s

起動を確認後、Localhostに接続。
無事、Railsの初期画面が表示されました。これでアプリの土台はひとまず完成です。
記事にするとあっさりですが、これだけでも結構時間がかかりました。とりあえず環境構築を乗り越えたので一安心。

まとめ

初めてのQiita記事の投稿となりましたが、思ったより時間がかかりました…。およそ3時間ほど。
もし誤りなどありましたらコメントやTwitterでご指摘いただけると嬉しいです。この記事が他の方の参考になれば幸いです。
次はDB設計や機能の整理などを記事にできたらいいな…。

参考にさせていただいた記事

新規Railsプロジェクトの作成手順まとめ
rails new 手順書
Bundlerを使ったGem管理について
bundle install と bundle updateの違いについて

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?