LoginSignup
10
16

More than 1 year has passed since last update.

Rails6でのRubyOnRails 環境構築

Last updated at Posted at 2019-10-02

はじめに

RubyOnRailsの導入方法です。
エラーが起こってわかりにくかったところをまとめます。

開発環境等

  • macOS Mojave version 10.14.6
  • Ruby 2.6.4
  • Rails 6.0.0
  • rbenv local 2.6.4
  • sqlite3 3.29.0

Homebrewのインストール

入っていない人は次のコマンドをコピペしてインストールしてください。

Homebrewのインストール
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

macOS用パッケージマネジャー — homebrew

次にHomebrewをupdateします

Homebrewのアップデート
$ brew update

rbenvのインストール

rbenvを使うと複数のバージョンのrubyを管理できるようになります。
ruby-buildはRubyをバージョンごとに異なるディレクトリにビルドするためのツール

rvenvのインストール
 $ brew install rbenv ruby-build

環境変数のPATHにディレクトリを登録しておくと登録したディレクトリ直下のスクリプトが絶対パスで指定しなくても実行できるようになります。

.bash_profileの設定
$ echo 'export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Ruby2.6.4のinstall

インストールできるrubyのバージョンを確認する

バージョンの確認
$ rbenv install -l

僕はruby2.6.4が最新だったのでそれをインストールしました。

ruby2.6.4のinstall
$ rbenv install 2.6.4

システム全体でつかうRubyとして登録して置きたいのでそれも設定

$ rbenv global 2.6.4

インストールしたRubyを使用可能にするためにrehash

$ rbenv rehash

複数のバージョンをインストールする場合は繰り返しコマンドの実行を行う

Railsのinstall

RailsはWebアプリケーションフレームワークです。これもインストールしていきます
(注:2.5.0以降のVersionでしかRailsは動きません!!!)

1.bundlerのインストール

まずbundlerをインストールします。gemコマンドではなくbundlerコマンドでパッケージをインストールすることでバージョンの互換性の問題を解決できます。

PermissionError言われたのでsudoさん使って実行

bundlerのインストール
$ sudo gem install bundler

2.sqlite3のアップグレード

Railsを利用するためにはsqlite3をインストールしている必要があります。macにはデフォルトで入っているのでアップグレードします。あとはシンボリックリンクを作成してパスを通す。
RailsのデフォルトのDBはsqliteですのでmysqlを使いたい人は切り替えて使う。

//現在のバージョンの確認
$ sqlite3 --version
3.24.0

//sqlite3のアップグレード
$ brew upgrade sqlite3

//最新バージョンの確認
$ ls /usr/local/Cellar/sqlite/
3.29.0

//シンボリックリンクの作成
$ cd /usr/local/bin/
$ ln -sf ../Cellar/sqlite/3.29.0/bin/sqlite3 ./

//PATHを通す
$ echo 'export PATH=/usr/local/bin:"$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

//変更できたか確認
$ sqlite3 --version
3.29.0

3.作業用ディレクトリへのgemのインストール

作業用ディレクトリの作成を行う

作業用ディレクトリの作成
$ mkdir ~/workspace
$ cd ~/workspace

Rubyのバージョンの指定

$ rbenv local 2.6.4

ruby '~> 2.6.4'を追加し、Gemfileのgem "rails"の コメントアウトを外す(バージョンは自分が入れたバージョンに変える)

GemFileの作成
$ bundle init

Writing new Gemfile to /Users/<ユーザ名>/workspace/Gemfile
Gemfileの編集
$ vim /Users/<ユーザ名>/workspace/Gemfile

ruby '~> 2.6.4'

# frozen_string_literal: true

source "https://rubygems.org"

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

gem "rails"

railsをインストールする

Railsのインストール
$ bundle install --path=vendor/bundle
$ bundle exec rails -v
Rails 5.2.3

bundle install --path=vendor/bundleでバージョンエラーが起こる場合の対処方法

試しにブログアプリケーションを作成して動作確認を行ったところbundleがsystemのrubyを参照していたため失敗。雑だがファイルを無理やり移動させてパスを変更したらうまくいった。

bundleとbundlerのPATH
$ which bundle bundler
/usr/local/bin/bundle
/usr/local/bin/bundler 

変更
$ mv /usr/local/bin/bundle /Users/<ユーザ名>/.rbenv/shims/bundle 
$ mv /usr/local/bin/bundler /Users/<ユーザ名>/.rbenv/shims/bundler

$ which bundle bundler
/Users/<ユーザ名>/.rbenv/shims/bundle
/Users/<ユーザ名>/.rbenv/shims/bundler

4.サーバーの起動

Rails6を使う場合は# environment is not defined in config/webpacker.ymlが出る時を行う。場合によってはcan't find gem railtiesが出る時を行う。

サーバーの起動
$ bundle exec rails new blog
$ cd ~/workspace/blog
$ rails server<img width="752" alt="スクリーンショット 2019-10-02 2.10.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/505843/cdbc5838-e114-0e7a-ea42-a258ae3cc5fc.png">
<img width="752" alt="スクリーンショット 2019-10-02 2.10.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/505843/47e9ad5d-4e44-f551-6387-49bbf56b0f5b.png">

=> Booting Puma
=> Rails 6.0.0 application starting in development 
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 3.12.1 (ruby 2.6.4-p104), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

can't find gem railtiesが出る時

パスを変えて実行したところ can't find gem railtiesと言われたのでreailtiesのインストールを行った。

一覧表示
$ gem list

reailtiesがなければgemでrailsをインストールする。

railsのインストール
$ gem install rails

environment is not defined in config/webpacker.ymlが出る時(Rails6を使う場合必須)

Rails6.0.0ではwebpackerのインストールが必要。インストールしていない場合はenvironment is not defined in config/webpacker.ymlとエラーが出るはず。webpackerのインストールにはyarnのインストールが必要となるのでインストールしていない場合はこちらも。

yarnのインストール
$ brew install yarn
webpackerのインストール
$ bundle exec rails webpacker:install

http://localhost:3000/ にアクセスしてYay! You’re on Rails!の画面が表示されRuby versionが2.6.4かどうか確認
スクリーンショット 2019-10-02 10.43.35.png

参考サイト

Ruby初学者のRuby On Rails 環境構築【Mac】
Rails をはじめよう - Railsガイド
Bundlerの使い方
MacのpyenvでHomebrewからインストールしたsqlite3を利用する

10
16
2

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
10
16