Linux(Ubuntu)でRuby on Railsを始める方法

もくじ

必要な知識

  • HTML、CSS、JavaScriptの基本的な知識
    • 最低限、阿●寛さんのウェブサイトくらいのものはつくれること。
  • Rubyの基本的な知識
    • 最低限、Ruby以外でもよいからオブジェクト指向言語を使って1000行くらいのソフトをつくった経験があること。

前提とする環境

  • Ubuntu 18.04.1 LTS(64bit)
  • 管理者権限を持つアカウントでUbuntuにログインしている。
  • プロキシを介さずにインターネットに接続できる。
    • 小さな企業や個人宅などでは気にしなくてOKなことが多い。
    • 大きな企業とかだと、インターネットにはプロキシ越しでの接続となることが多い。

Rubyのインストール

以降の作業は「端末」(あるいはterminal)で行う。

次のコマンドをそのままコピペして実行する。パスワードが求められたら、Ubuntuのログインパスワードを入力してEnter。

sudo apt-get update
sudo apt-get -y install git curl g++ make zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev sqlite3 libsqlite3-dev nodejs
cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git

次のコマンドで、Rubyのバージョン番号(例:2.6.3)を指定してインストールする。何分か時間がかかる。

rbenv install 2.6.3

次のコマンドで、「このPCではRubyのバージョン2.6.3を使うよ」という指定をする。

rbenv global 2.6.3

次のコマンドを実行して、インストールしたRubyのバージョン(例:2.6.3)が表示されたらRubyのインストールは成功している。

ruby -v

Railsのインストール

最新バージョンをインストールする場合は次のコマンドを実行する。実行する場所は任意のディレクトリでOK。

gem install rails

Railsのバージョンを指定してインストールする場合は、次のようにバージョン番号(例:5.2.3)を書いて実行する。

gem install -v 5.2.3 rails

次のコマンドを実行して、Railsバージョン番号が表示されたらRailsのインストールは成功している。

rails -v

新規プロジェクトの作成

プロジェクトを作りたいディレクトリを用意し、「端末」(またはterminal)でそのディレクトリに移動する。

次のコマンドを実行し、プロジェクトを作成する。次の例ではプロジェクト名を「myapp」にしているが、ここはお好みで。

rails new myapp

次のコマンドを実行し、Webサーバを立ち上げてみる。

cd myapp
rails s

成功していれば、何行か表示された結果の中に、次のような行があるはず。

* Listening on tcp://localhost:3000

Webブラウザを開き、tcp://の右側に書いてある文字列をURL欄に記入してEnterしてみよう。

次のようなページが表示されていれば、Ruby on Railsによる開発環境はしっかり構築されており、Webサーバーも立ち上がっている。

このままではRuby on Railsが載っている開発用PCでしかサイトが表示できない。LAN内のPCからもページが見たい場合は一度サーバーを落とし、オプション付で再び起動する。具体的には、Ctrl+CでWebサーバーを落としてから、アプリのルートディレクトリ(例:myappディレクトリ直下)で次のコマンドを実行する。

rails s --binding=0.0.0.0

LAN上の別のPCから、WebサーバーのIPアドレスとポートにアクセスしてみよう。先程のような画面がブラウザに表示されれば成功だ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です