Help us understand the problem. What is going on with this article?

Rails5 開発環境構築、およびサーバ起動まで

More than 1 year has passed since last update.

動機

サーバ側の開発はたいてい VirtualBox で Ubuntu 入れた仮想環境でやっているが、この開発環境構築をやるときはやるけど、やらないときはとんとやらない。

で、いざ新しく環境を作らなくてはとなった場合に、たまにしかやらないことは毎回調べないとできなくて、面倒だなっていう苦手意識があったので、まずは、同じようなことで詰まることがないように自分用の備忘録として記録しておきたいと思った。

前提

なるべく執筆時点で最新。

必要があって古い何をかをいれることもあるけど...

ひとまず ubuntu18.04 Desktop 版。

Ruby on Rails

インストールする環境

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

git がインストールされていなかったら

$ sudo apt install git

まずは rbenv をインストールする

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

そしたら .bashrc に以下を追記

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

端末再起動、もしくは

$ exec $SHELL -l

rbenv のバージョン確認  

yokomichi@ubuntu18OnMacBook:~$ rbenv -v
rbenv 1.1.1-39-g59785f6

そしたら ruby-build のインストール

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

ここまでできたら、それではいよいよ ruby のインストール

$ rbenv install 2.5.0

エラーする可能性が...

Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...

BUILD FAILED (Ubuntu 18.04 using ruby-build 20180822-12-g73fe30d)

Inspect or clean up the working tree at /tmp/ruby-build.20181012094110.2082
Results logged to /tmp/ruby-build.20181012094110.2082.log

エラーしたら下記をインストール

$ sudo apt-get install gcc build-essential libssl-dev libreadline-dev zlib1g-dev

すると...

$ rbenv install 2.5.0
Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...
Installed ruby-2.5.0 to /home/yokomichi/.rbenv/versions/2.5.0

インストールできたっぽい

確認してみる

$ rbenv versions
  2.5.0

イストールできてる
ここで作業用にディレクトリを作成して、作成したディレクトリに移動する

$ mkdir rails_app
$ cd rails_app

使用する ruby のバージョンを指定する

$ rbenv local 2.5.0

bundler を使いたいので

$ sudo apt install ruby-bundler

gem を vendor/bundle に入れて bundle exec で呼び出すようにしたい

$ bundle init

して生成された Gemfile を編集する

とは言っても、rails のコメント外すだけ

# frozen_string_literal: true

source "https://rubygems.org"

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

gem "rails"

これで準備 OK なので、以下のコマンドで rails をインストールする

$ bundle install --path vendor/bundle

場合によっては nokogiri でこける可能性が...

こけたら

$ sudo apt install ruby-dev

してから再度

$ bundle install --path vendor/bundle

--path vendor/bundle をつけることで vendor/bundle 以下に gem が格納される

いよいよを Rails プロジェクトを作成する

$ bundle exec rails new . -B -d mysql

そして bundle install を実行

An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.2'` succeeds before bundling.

このようなエラーが出た場合は

$ sudo apt install libmysqld-dev

してから、もう一度、bundle install を実行

実行できたら、サーバを起動する

$ bundle exec rails s

以下のようなエラーが出たら

.
.
.
bin/rails:4:in `<main>'
Bundler Error Backtrace:

gem を追加する

Gemfile に gem 'therubyracer' を追加して bundle install してから再度サーバを起動をする

$ rails s
=> Booting Puma
=> Rails 5.2.1 application starting in development 
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.12.0 (ruby 2.5.0-p0), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

スクリーンショット 2018-10-16 16.56.48.png

起動した

今後

これまできちんとしたメモ的なものを残しておく習慣がなかったため、不明点に遭遇する都度以前調べたことでもまたググったりして時間を無駄に費やすことが多かったので、一度調べたことはなるべく記録に残すことで無駄を省けるよう努力していこうと考えている。

また同じようなことで困っている人がいたら力になれたらいいなと思い、調べたことを記事に書くことを習慣にできたら素敵かなと考えている。

いいこと書いてあった ↓↓

エンジニアは全員技術記事を書くこと習慣化した方がいいぞ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした