LoginSignup
13
11

More than 5 years have passed since last update.

WSL(Ubuntu)にRuby on Ralis開発環境を構築する

Last updated at Posted at 2018-04-01

Windows subsystem for linuxにUbuntuをインストールした環境にRuby on Rails開発環境を構築しようと思ったので、手順をまとめました。
要所要所にnokogiriに関する情報を名指しで出してますが、これはnokogiriで躓いたためです。
以下を参考に、Rails 5.1.6を導入しています。
Ruby on Rails 4.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました

構築する内容

Windows10(バージョン 1709)
Ruby 2.5.1
Rails 5.1.6
Ubuntu 16.04.4 LTS(windows subsystem for linux)
以上を構築していきます。

手順

メインは、Ruby on Rails環境構築ですので、WSLの導入などはさらっと行きます。

Windows subsystem for linux有効化

 「Windowsの機能の有効化または無効」からWindows subsystem Linuxを有効にする。
 Windows StoreからUbuntuをインストール & コマンドライン起動

Ruby on Railsの開発環境構築

パッケージのインストール(とアップデート)

# アップデート
$ sudo apt-get update  

# 必要なパッケージのインストール
$ sudo apt-get -y install git curl g++ make  
$ sudo apt-get -y install libssl-dev libreadline-dev  
$ sudo apt-get -y install libyaml-dev libxml2-dev libxslt-dev  
$ sudo apt-get -y install sqlite3 libsqlite3-dev nodejs 

# nokogiriのための必須パッケージインストール  
$ sudo apt-get -y install build-essential patch zlib1g-dev liblzma-dev pkg-config  

rbenvのインストール

$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv

ruby-build のインストール

$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

Ruby のインストール

rbenvでRubyの最新バージョン確認

インストールできる一覧を取得

$ rbenv install -list

listから、最新の2.5.1をインストール

$ rbenv install 2.5.1
※ちょっと待ちます…

systemに一度2.5.1を適用させる

$ rbenv global 2.5.1

# rbenvバージョン確認
$ rbenv version
2.5.1

# rubyのバージョン確認
$ ruby -v
ruby 2.5.1 xxxxx

Railsのインストール

gemrcの作成

gemのインストールはドキュメントをインストールするため遅いので、以下を設定しておく。
(遅くてもドキュメントなどあったほうがいい人は、この手順スキップです。)

$ vi ~/.gemrc
install: --no-document
update: --no-document

また、余談ですが、gem install でインストールする際は、-N オプションでで上記と同様な動作をします。

# Rubygemsより
-N, -​-no-document - Disable documentation generation

Railsのインストール

システムにgemでインストールしてしまうのではなく、
bundlerで必要なものはvendor/bundleに格納し、
bundle execで呼び出す構成を作ります。

プロジェクトディレクトリ作成

$ mkdir project_name
$ cd project_name

プロジェクト毎にのRubyバージョンを固定できるようにするには、プロジェクトディレクトリ内で、以下を実行します。

$ rbenv local 2.5.1

プロジェクトの初期化

$ bundle init
Writing new Gemfile to /path/to/project/Gemfile

作成されたGemfileに、Railsを記載

$ vi Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

# Railsを5.1.6に固定(お好みで)
# gem "rails" だけでもOK(最新版)
gem "rails", "5.1.6"

プロジェクト内にgemインストールする

$ bundle install --path vendor/bundle
$ bundle exec rails new .
# Gemfileの上書を聞かれますが、上書きしてよいです。

テスト実行

railsコマンドを実行するときは、bundle execをつけるのを忘れないでください。
プロジェクト内にrails をインストールしたためです。

bundle exec rails s
=> Booting Puma
=> Rails 5.1.6 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.11.3 (ruby 2.5.1-p57), codename: Love Song
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

実行したRailsにアクセス。
http://localhost:3000

こんな画面が出ればOKです。
Screenshot-2018-4-1 Ruby on Rails.png

以上です。

補足

bundle install --path vendor/bundleに失敗した場合、以下を試して再実行してみてください。

$ bundle config build.nokogiri --use-system-libraries
$ bundle install --path vendor/bundle

nokogiriのインストールに躓いた場合、いくつか原因があるようですが、
僕の場合、「pkg-config」がないことによる問題でした。
公式のインストールガイドにも載っていないので、この問題に気付くのにだいぶ時間がかかりました。

失敗したときは、vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/nokogiri-1.8.2/mkmf.logなどにエラー原因が出ていたりするので、見てみましょう。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11