プログラム関係の備忘録。技術系記事1000記事以上を目指すブログ

Ruby初心者がWindowsPCでRuby on Railsを使ってHello Worldまで

  • 2019年5月7日
  • 2020年6月14日
  • Ruby
  • 1058view
  • 0件

はじめに

Rubyは全く触ったことがないのですが、とりあえず作ってみました。
同じようにRuby未経験で環境構築してみたい方に少しでも参考になれば

公開を考えたときにLinuxサーバーで動くように作ったほうが良いので、
VirtualBox内のUbuntuマシンにRuby on Railsの開発環境を作ってみました。

記事構成を以下の2つに大きく区切って書いていきます。

準備編として仮想マシン環境の準備まで。
開発編としてRubyその他のインストールをしHelloWorldするまで。

話はそれますが、なにやらWindows 10上でLinuxを使うことができる、Windows Subsystem for Linuxというのがあるそうで。
それを使えばVirtualBoxで仮想マシンを作らなくてもWindowsから気軽にLinuxを試すことができるらしいです。
知らなかった。

さらに、Windows Subsystem for Linux 2というのを新たに発表し、さらに使いやすくなったとか。
しかし、それが発表されたのが2019年5月6日(現地時間)。
執筆時点は2019年5月7日(日本時間)
。タイムリー過ぎでしょう。
サクッと動かすのが目的なのでそのままVirtualBoxでやっていきますが、気になった方はそちらで環境作ってみてもいいかもしれません。

準備編~仮想マシン環境の準備~

VirtualBoxのインストール(執筆時点の最新版は6.0)
https://www.virtualbox.org/

Ubuntu18.04 LTSのインストール
https://www.ubuntu.com/download/desktop

以下の記事でVirtualBoxとUbuntu18.04 LTSのインストール、
コピペや共有フォルダの設定などの初期設定方法が書いてあります。

Windows 上の VirtualBox に Ubuntu 18.04 LTS をインストールする

開発編~Rubyその他をインストールしHelloWorld~

Rubyのインストール

Rubyはrbenvを使ってインストールするので、まずはrbenvを使えるようにする。
Rubyのバージョン管理ツールだそう。いろいろ見たがとりあえずrbenv使っとけ的な感じだったので便乗。

Rubyに必要なパッケージやソフトウェアのインストール

sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev sqlite3 libsqlite3-dev

※上記全て必要かどうかは定かでありません。細かくみておらず、他のサイトを見ると共通箇所もあれば違うところもあったりしました。上記で入れておけばとりあえずエラーは出なかったという感じです。

rbenvのインストール

githubのリポジトリからrbenvをインストールします。
まっさらな状態からだとgitすら入っていないはずなので、先にgitのインストールもお忘れなく。

sudo apt install git
git clone https://github.com/rbenv/rbenv.git ~/.rbenv<

成功すると以下のようになります。

ubuntu@ubuntu-VirtualBox:~$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv 
 Cloning into '/home/ubuntu/.rbenv'…
 remote: Enumerating objects: 15, done.
 remote: Counting objects: 100% (15/15), done.
 remote: Compressing objects: 100% (13/13), done.
 remote: Total 2759 (delta 4), reused 6 (delta 2), pack-reused 2744
 Receiving objects: 100% (2759/2759), 521.23 KiB | 1.17 MiB/s, done.
 Resolving deltas: 100% (1724/1724), done.

続いてruby-buildというのもインストール

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

実行結果

ubuntu@ubuntu-VirtualBox:~$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build  
 Cloning into '/home/ubuntu/.rbenv/plugins/ruby-build'…
 remote: Enumerating objects: 30, done.
 remote: Counting objects: 100% (30/30), done.
 remote: Compressing objects: 100% (19/19), done.
 remote: Total 9742 (delta 10), reused 24 (delta 7), pack-reused 9712
 Receiving objects: 100% (9742/9742), 2.07 MiB | 2.91 MiB/s, done.
 Resolving deltas: 100% (6357/6357), done.
 ubuntu@ubuntu-VirtualBox:~$ 

続いて環境設定

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

最後にrbenvのバージョン確認をしてバージョンが表示されればOK

rbenv --version

rbenv 1.1.2-2-g4e92322

Rubyのバージョン一覧を確認する

rbenv install --list

安定板は2.6.3(執筆時点)とのことなのでそちらを指定してインストールする
https://www.ruby-lang.org/ja/downloads/

rbenv install 2.6.3

インストールが終わると以下の表示

ubuntu@ubuntu-VirtualBox:~/.rbenv$ rbenv install 2.6.3
 Downloading ruby-2.6.3.tar.bz2…
 -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.bz2
 Installing ruby-2.6.3…
 Installed ruby-2.6.3 to /home/ubuntu/.rbenv/versions/2.6.3

バージョンを指定する

rbenv global 2.6.3

gemをアップデートし、bundlerをインストール

gemを使用したときに生成されるドキュメントが不要な際には以下の設定で無効化しておく

echo "install: --no-document" >> $HOME/.gemrc  
 echo "update: --no-document" >> $HOME/.gemrc

Ruby on Railsのインストール

gem install rails 

バージョン確認

rails -v

執筆時はRails 5.2.3となりました。

任意のディレクトリを作成し、その配下で以下のようにコマンドを打つ
※railsAppの部分はプロジェクト名

rails new railsApp --skip-bundle

ずらーっとファイルが作成される

そのままではうまくいかないため、ディレクトリに作成されたGemfileの箇所を変更すると書いてあった。
おそらくこれは一時的なもので、必要ない処理かもしれない。
一応以下参照。
https://qrunch.net/@ryecroft21/entries/0d6t3AdvaWueZcO6

作成したプロジェクト配下にて以下のコマンド

 bundle install

ようやく、起動

rails s

#上記はrails server の省略形で、どちらで入力してもOKです

以下のような表示がでる

 ubuntu@ubuntu-VirtualBox:~/rails/railsApp$ rails s
 => Booting Puma
 => Rails 5.2.3 application starting in development 
 => Run rails server -h for more startup options
 Puma starting in single mode…
Version 3.12.1 (ruby 2.6.3-p62), codename: Llamas in Pajamas
Min threads: 5, max threads: 5
Environment: development
Listening on tcp://localhost:3000
 Use Ctrl-C to stop

表記にしたがい、localhostの3000番にアクセスしてみる

こんな感じのゆるいイラストが表示されればOK

Hello World

最後にHello Worldをして、この記事の終わりとします。

トップページを作成します。
railsでページを作成する際はコマンドでできるようです。
この辺はLaravelとかを触っていたら馴染みやすいですね。
topというページを作ってみたいと思います。

rails generate controller Top index

これでコントローラーとビュー、ルーティングが設定できてしまいます。

VSCodeとか使いやすいエディターでプロジェクトフォルダを開きましょう。

~/railsApp/app/views/top/index.html.erb

<h1>Hello World!</h1>

実行結果