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 3 years have passed since last update.

VagrantのUbuntu 18 上にRubyとRuby on Railsをインストールして起動する

Last updated at Posted at 2020-08-20

Railsの挙動を気軽に試せる環境が欲しいと思って、手元の仮想環境にRailsをインストールしようしたら、思った以上にハマったので備忘のため、メモを残しておきます。

インストールする環境

Ubuntu 18.04.3 を使います。
ちなみにvagrantのhashicorp/bionic64 のboxを使ってます。
パッケージは最新化してます。

Ubuntuのバージョン
$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

rbenvをインストールする

Progateを見るとRubyの開発環境を構築する際はrbenvを用いてインストールすることが一般的とのことです。
rbenvを用いると簡単にrubyのバージョンをスイッチできるためとのこと。

一般ユーザでrbenvをインストールするとインストールしたユーザでしかrbenvやRubyを実行をできなさそうででどのユーザでも実行できるようにしたいのでサーバ全体インストールします。
※実際はユーザにインストールするか主流なのか、サーバ全体にインストールするのが主流なのかは知りたいところ

rbenvに必要なパッケージをインストールする

こちらのwikiを参考にしてインストールします。

$ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libreadline-dev' instead of 'libreadline6-dev'
E: Unable to locate package libgdbm6

libgdbm6のパッケージが見つからないと怒られました。

さっきのwikiをよくみたら

# Depending on your version of Ubuntu/Debian/Mint, libgdbm6 won't be available.
# In that case, try an earlier version such as libgdbm5.
apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev

Ubuntsによってはlibgdbm6が利用できないから、libgdbm5を使ってねと。
※注意書きはしっかり読みましょう。
ということで、以下のように書き換えて再度トライ

$ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev libdb-dev

次はうまく行きました。出力は長かったので割愛します。

rbenvをインストール

必要なパッケージをインストールしていきます。

$ sudo git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv

$ sudo git clone https://github.com/rbenv/ruby-build.git /usr/local/rbenv/plugins/ruby-build

$ sudo git clone https://github.com/rbenv/rbenv-default-gems.git /usr/local/rbenv/plugins/rbenv-default-gems
sudo sh -c "echo bundler >> /usr/local/rbenv/default-gems"

bashで使えるようにします。

$ sudo vim /etc/profile.d/rbenv.sh
rbenv.sh
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

##rubyをインストール
rubyの2.6.6 をインスールします。

# rbenv install 2.6.6

バージョンを確認します。

# ruby -v
rbenv: ruby: command not found

The `ruby' command exists in these Ruby versions:
  2.6.6

rubyのコマンドがないと怒られました。
どうも rbenv でバージョンを指定しないといけないらしい

# rbenv global 2.6.6
# rbenv rehash
# ruby -v
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]

rubyのコマンドが打てるところまで確認

##Ruby on Railsをインストール

必要なミドルウェアをインストール
SQLite、nodejs、yarnをインストール
※nodejs と yarn をそのままaptで入れるとrailsが必要なバージョンが入れられないので以下方法でインストール

$ sudo apt install sqlite3 libsqlite3-dev
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn

アプリを作成

rails new blog

railsサーバを起動(仮想サーバに起動しているのでIPを指定)

$ rails s -b xxx.xxx.xxx.xxx

IブラウザでIPを指定してアクセス
http://xxx.xxx.xxx.xxx:3000/
でブラウザにアクセスしたら、railsの画面が表示されました。

##参考

rbenvの必要パッケージ:https://github.com/rbenv/ruby-build/wiki
rbenvをインストールした時の参考
https://gist.github.com/berga/913c4156064dfdd22d913304bc854033
https://loumo.jp/archives/21101

nodejsのインストール方法:https://github.com/nodesource/distributions
yarnのインストール方法:https://qiita.com/guuuuuchan/items/08f71e6e5bc83432df21

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?