動機
サーバ側の開発はたいてい 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
起動した
今後
これまできちんとしたメモ的なものを残しておく習慣がなかったため、不明点に遭遇する都度以前調べたことでもまたググったりして時間を無駄に費やすことが多かったので、一度調べたことはなるべく記録に残すことで無駄を省けるよう努力していこうと考えている。
また同じようなことで困っている人がいたら力になれたらいいなと思い、調べたことを記事に書くことを習慣にできたら素敵かなと考えている。
いいこと書いてあった ↓↓
エンジニアは全員技術記事を書くこと習慣化した方がいいぞ