Ruby のインストール(Ubuntu 上)

Ubuntu のパッケージ(apt)を用いた Ruby のインストール手順を説明する.Ubuntu が提供する Ruby は,そのリリースに合わせたバージョンに固定される.別のバージョンを使い分けたい場合はrvm を用いる方法がある.

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

Ruby および RubyGems を,パッケージを使ってインストール

端末で,次のコマンドを実行する.ruby-full には Ruby 本体,標準ライブラリ,RubyGems が含まれる.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install ruby-full

バージョンの確認

ruby -v
gem -v

拡張ライブラリ(native extension)を含む gem のビルドに必要なパッケージ

nokogiri,sqlite3 などの gem は,インストール時に C ソースのビルドを行う.そのために必要なパッケージをインストールするには, 端末で,次のコマンドを実行する.

sudo apt -y install build-essential ruby-dev libssl-dev libyaml-dev zlib1g-dev libffi-dev \
  libxml2-dev libxslt1-dev sqlite3 libsqlite3-dev

RubyGems の更新について

apt でインストールした Ruby では,RubyGems も apt が管理する.「gem update --system」による更新は,apt が管理するファイルと競合するため推奨されない.RubyGems の更新は,システム更新(sudo apt full-upgrade)によって行う.

新しい RubyGems や複数バージョンの Ruby が必要な場合は,rvm などのバージョン管理ツールを用いて,ホームディレクトリ下に Ruby を導入する.

gem のインストール先について

「sudo gem install」はシステム領域に gem を導入するため,apt が管理するファイルと競合することがある.ユーザ単位で導入するには「--user-install」を用いる.導入先は「gem env」で確認できる.

gem install --user-install bundler
gem env

ユーザ単位で導入した gem の実行ファイルにパスを通すには, 端末で,次のコマンドを実行する.

echo 'export PATH="$(ruby -e "print Gem.user_dir")/bin:$PATH"' >> ${HOME}/.bashrc
source ${HOME}/.bashrc

rspec を gem を用いてインストール

  1. インストール

    端末で,次のコマンドを実行する.

    gem install --user-install rspec
    

    しばらく待つ.

    rspec-rails は Rails アプリケーションごとに使用するため,システム全体ではなく,アプリケーションの Gemfile に記述して「bundle install」で導入する.

  2. インストールできたかは,「gem list」の実行で確認できる.
    gem list
    

Sinatra を gem を用いてインストール

Sinatra については別のページで説明している.

端末で,次のコマンドを実行する.

gem install --user-install sinatra

Ruby on Rails を gem を用いてインストール

  1. インストール

    端末で,次のコマンドを実行する.

    gem install --user-install rails
    
  2. インストール終了の確認
    rails -v
    
  3. rails new の実行

    アプリケーション hoge を,データベースに sqlite3 を用いて生成する.

    rails new hoge -d sqlite3 --skip-javascript
    

    主なオプションは次の通りである.

    • --skip-javascript (-J) : JavaScript 関連の設定を組み込まない
    • --skip-active-record (-O) : Active Record を組み込まない
    • --skip-test (-T) : 既定のテストフレームワークを組み込まない
    • --api : API 専用アプリケーションとして生成する
  4. サーバの起動まで行う
    cd hoge
    bundle install
    bin/rails g scaffold hogeobj value:string
    bin/rails db:migrate
    bin/rails server
    
  5. サーバの起動の確認

    エラーメッセージが出ていないこと

    Web ブラウザで http://localhost:3000/hogeobjs を開いて、scaffold の機能を使ってみる