BETA

Ubuntu 18.04へのRuby on Railsインストール

投稿日:2019-03-02
最終更新:2019-03-02

Ubuntu 18.04 LTSにRailsをインストールしようとしたところ、さんざんエラーで悩まされたので、とりあえず現時点でうまくいく方法をまとめておきます。2019年3月2日時点での情報です。デスクトップ版ならびにUbuntu Serverで確認済みです。

Rubyのインストール

Rubyはrbenvを使ってインストールすることにします。

必要なソフトウェアのインストール

あらかじめRubyのコンパイルに必要なソフトウェアをインストールしておきます。足りないとビルドやり直しなどで時間を取られます。

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

rbenvのインストール

rbenvを一般的な手順どおりインストールします。ruby-buildも入れておかないとRubyをインストールできません。

git clone https://github.com/rbenv/rbenv.git ~/.rbenv  
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build  
cd ~/.rbenv && src/configure && make -C src  
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

bashに上記の設定を反映させます。

exec bash

rbenvでRubyをインストール

Ruby 2.5.3をインストールします。最新は2.6系ですが、ここでは2.5系の最終の安定版である2.5.3にしておきます。インストールにはある程度時間がかかります。

rbenv rehash  
rbenv install 2.5.3  
rbenv global 2.5.3

gemのアップデート

Rubyをインストールしたときにインストールされるgemをアップデートしておきます。bundlerパッケージもインストールしておきます。

gem update --system  
gem install bundler

gemを使ったインストールやアップデートの際にドキュメントが生成されますが、不要であれば以下の設定を行います。これがないとかなり時間を取られます。

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

Railsのインストールとテスト

SQLiteのインストール

SQLite3をインストールします。libsqlite3-devも忘れないように。

sudo apt install sqlite3 libsqlite3-dev

Railsのインストール

gemを使ってRailsをインストールします。必要なパッケージ群がインストールされます。「gem list rails」でRails関連パッケージを確認できます。

gem install rails  
gem list rails

以下のコマンドでRailsのバージョンを確認できます。執筆時点では「5.2.2」が最新です。

rails -v

インストールの確認

うまくインストールできているか確認します。Gemfileを後で書き換えるので、—skip-bundleオプションを付けておきます。

rails new sample --skip-bundle

sampleディレクトリ内に必要なファイルが生成されます。その中のGemfileを開き、以下の行を確認します。

gem 'sqlite3'

これを、次のように変更します。

gem 'sqlite3', '1.3.13'

また、以下の設定のコメントを外して有効にします。

gem 'mini_racer', platforms: :ruby

sampleディレクトリ内に移動し、bundleコマンドを実行します。

bundle install

Railsを起動し、動作を確認します。

rails s

ブラウザで3000番ポートにアクセスします。サーバを停止させるにはCtrl+Cです。

あまりネットに情報がなかったのですが、SQLite3のバージョンで問題が出て苦労しました。デフォルトでは1.4.0が使われますが、それだとActiveRecord?でエラーが出るので、バージョンを1.3.13に書き換えています。そのうちFixされると思います…。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@ryecroft21の技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!