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

Ubuntu環境でRailsの環境構築、初期化してる状態から

More than 1 year has passed since last update.

目的

Ruby on Railsの環境構築をします。
前提条件としてWindows10ユーザーを今回は対象にしています。

環境

  • Windows10
  • WSL/Ubuntu18.04.2 LTS
  • rbenv 1.1.2
  • ruby 2.6.1
  • rbenv on rails 5.2.3
  • SQLite3.22.0

Windows Subsystem for Linux(WSL)

Windows Subsystem for Linux(WSL)はWindows上でLinux向けソフトウェアを実現するための仕組みです。ただし、64ビット版のWindows10でしか利用できません。

Ubuntu

Ubuntu(ウブントゥ)はLinuxをベースとした、オペレーティングシステム(OS)です。今回はWSL環境にUbuntu18.04をインストールします。

具体的なインストール方法

  • コントロールパネルを開き、[プログラム]→[プログラムと機能]→[Windouwsの機能の有効化または無効化]に進みます。
  • [Windows Subsystem for Linux]のチェックボックスをオンにして[OK]ボタンをクリックします。
  • Windowsを再起動します。
  • [スタート]ボタンを押して、[Microsoft Store]を開きます。
  • 検索ボックスに「ubuntu」と入力して現れる選択肢の中から[Ubuntu18.04]を選びます。
  • [入手]ボタンを押します。
  • [起動]ボタンを押します。
  • 黒い背景ウィンドウが開き、「Installing, this may take a few minute...」というメッセージが表示されます。
  • 「Enter new UNIX username:」と表示されたら、Ubuntuで使用するユーザー名を入力します。
  • 「Enter new UNIX password:」と表示されたら、Ubuntuで使用するパスワードを入力します。
  • 「Retype new UNIX password:」と表示されたら、同じパスワードを再入力します。
  • 末尾に$のある行が表示されたら黒い背景のウィンドウを閉じます。

以上です。

Ubuntuの更新

ターミナルで次の二つのコマンドを順に実行し、Ubuntuを更新します。

 $ sudo apt-get update
 $ sudo apt-get -y upgrade

定期的に更新することをおすすめします。
emacs25をインストールする方は

 $ sudo apt-get -y install emacs25

このブログではemacsを使います。vimの方は適宜読み替えてください。

WSL/Ubuntu利用上の注意点

WSL/Ubuntuを利用するうえで十分に気を付けなければならないのは、Windows側のソフトウェアでWSL/Ubunt側のディレクトリやファイルを操作すると壊れる危険性があるので注意が必要です。

rbenvのインストール

サブシステムのUbuntu環境ができたところで、つぎは
Ruby on Railsのrubyをインストールします。
複数のrubyをバージョン管理できるrbenvが便利ですので、そのインストールを推奨しています。

rbenvとは

  • 複数のRubyのバージョンを管理できます。
  • rbenv本体にはRubyのインストール機能はついていない。
  • ruby-buildを併用することで、Rubyを簡単にインストールできる。

推奨されるビルド環境

ruby-buildはシステムの依存関係が満たされていないためにコンパイルが失敗したり、コンパイルが成功しても実行時に失敗することがあります。以下の手順は、公式のビルド環境の推奨事項です。
バージョンによっては、libgdbm5は利用できません。その場合は、libgdbm3を試してください。

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

rbenv, ruby-build のインストール方法

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ ~/.rbenv/bin/rbenv init  # 出力される指示に従う

自分の場合は以下のような指示

# Load rbenv automatically by appending
# the following to ~/.bashrc:

eval "$(rbenv init -)"

なので

$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

ここでPATHの変更が有効になるようにシェルを再起動します。
ruby-buildをインストールします。

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

テスト

環境ができているかテストします。
次のコマンドを実行します。

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

実行結果例

Checking for `rbenv' in PATH: /usr/local/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20170523)
Counting installed Ruby versions: none
  There aren't any Ruby versions installed under `~/.rbenv/versions'.
  You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK

ここで問題なければ、rubyをインストールします。

$ rbenv install -l
$ rbenv install 2.6.1   #今回は2.6.1をインストール
$ rbenv global 2.6.1    #フォルトで使いたいrubyのバージョンを指定
$ rbenv global    #確認
$ ruby -v    #確認

Gitでアップグレードする

Gitを使って手動でrbenvをインストールした場合は、GitHubから最新版にアップグレードすることができます。

$ cd ~/.rbenv
$ git pull

SQlite3のインストール

データベース管理システムSQLite3をインストールします。ターミナルで次のコマンドを入力して実行します。

$ sudo  apt-get -y install sqlite libsqlite3-dev

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

$ sqlite3 -version

nodejsのインストール

$ sudo apt-get -y install nodejs

Railsのインストール

ターミナルで次のコマンドを実行します。これはRailsが依存するGemパッケージnokogiriのインストールに必要です。

$ sudo apt-get install -y build-essential patch ruby-dev zlib1g-dev liblzma-dev

Rails をインストールします。

$ rbenv exec gem install rails --version=5.2.3

Railsのバージョンを確認

$ rails -v

まとめ

  • WindowsにはUnix環境がないために、サブシステムでLinuxを使います。
  • そのためにUbuntuをインストールしました。
  • rubyをインストールするために、rbenvをインストールしました。
  • rbenv環境上にRailsをインストールしました。

最後にまとめて一気にインストールしたい人のためのシェルスクリプトを用意しました。
ちょっと詳しい人ならばこちらのほうがスムーズにセットアップができるとはおもいます。

シェルスクリプトの場合

$ sudo apt-get update
$ sudo apt-get -y upgrade
$ sudo apt-get -y install emacs25
$ emacs install.sh

以下の内容を入力

!/bin/sh

sudo apt-get -y install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
CONFIGURE_OPTS="--disable-install-rdoc" rbenv install 2.6.1
rbenv global 2.6.1
sudo  apt-get -y install sqlite libsqlite3-dev
sudo apt-get -y install nodejs
sudo apt-get install -y build-essential patch ruby-dev zlib1g-dev liblzma-dev
rbenv exec gem install rails --version=5.2.3

実行します。

$ source install.sh
nakano1994
台東区でエンジニアやってます。
https://web-tips.2rta.com
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
ユーザーは見つかりませんでした