【Win/WSL】Windowsで開発環境を整える

こんにちは、しきゆらです。
今回は、Windowsで開発環境を整えていきます。
Windows環境での開発環境としてWSLを使って環境を整えていこうと思います。

 


 

WSLとは?

WSLは「Windows Subsystem for Linux」の略であり、LinuxをWindowsの上で動かすというびっくりどっきり機能です。
WSLの登場以前は、Windows上でLinux等のような環境を作るためにはCygwinやMinGWのようなソフトを使っていました。
しかし、これらは無理やり疑似的に環境を用意していたため、操作や動きに若干違和感がありました。

それ以外では、VirtualBox等を使って仮想環境下にLinux等をインストールしていました。
この方法は、環境的にはWindowsとは切り離されているため扱いやすい一方で、PC上に疑似的にコンピュータを立ち上げてその中にOSをインストールするという方法をとっているため、立ち上がるまでに時間がかかったり、PCリソースを多く消費する、ファイルのやり取りが面倒などの問題がありました。
(一時期は、私も仮想環境にLinuxを入れて開発していましたが、ノートPCの排熱が追い付かなくなったのでMacに移行したという経緯がありました。)

そんな中で、WSLはSubsystemという言葉の通り、前述の仮想環境ではなくWindowsから直接Linuxを操作することができます。
しかも、扱い的にはWindowsからアプリを立ち上げるのと同じくらい簡単にLinuxを扱うことができます。

内部的話は分かりませんが、使うだけのユーザから見たら軽量なLinux環境が簡単に手に入るようになったということです。
すべてが利用できるわけではないようですが、基本的なことは普通のLinuxと同じようにできるはずです。

ということで、まずはWSLの準備からしていきます。

 

環境構築

WSLの有効化

WSLはデフォルトでは有効になっていません。
そこで、まずはWSL事態を有効にしていきます。

コントロールパネルを開き、「プログラム」=>「プログラムと機能」と開いてください。
Windows10の設定からは、「アプリ」=>右側にある「プログラムと機能」から同様に開くことができます。
(コントロールパネルと設定はどう分かれているのでしょうか。統合するならもっとしっかりまとめてほしい・・・)

コントロールパネルから開く場合
設定から開く場合

開いたら、左側にある「Windowsの機能の有効化または無効化」をクリックします。
リストの中にある、「Windows Subsystem of Linux」の横にあるチェックボックスにチェックを入れればOK。
あとは、画面の指示に従って再起動すれば準備は完了です。

 

Linuxディストリビューションのインストール

インストールすることができるディストリビューションは、まだまだ多いとは言えない状態です。
執筆時の現在(2019/05/19)では、5つが用意されています。

個人的にはRHEL系のCentOSやFedoraなどをよく使うので、この辺が欲しいところですがしょうがないです。
ここは、Ubuntuを使っていきます。

インストールは、Windowsストアのアプリをインストールするのと同じくボタンクリックだけです。
あっという間。

インストール後は、起動させると初期設定が行われます。
意外と時間がかかるため、まったりと待ちましょう。

 

(変な色をしているのは、そういう設定をしているからです。)

すると、ユーザ名とパスワードを聞かれるので、適宜設定すればOK。
これにて、Windows上にLinux環境が爆誕しました。
あとは、こいつにあれこれ入れて使い込んでいきましょう。

以下では、私が行った最低限の土台をメモしておきます。

 

その他の環境構築作業

システム全体のアップデート

Linux環境を作ったら、まずやることといえばアップデート。
しかし、このまま

[bash]
sudo apt update
sudo apt upgrade
[/bash]

とやってしまうと、とても時間がかかります。
なんと、デフォルトではリポジトリの参照先が海外サーバのようで、ダウンロードにとても時間がかかってしまいます。
そこで、まずはリポジトリの参照先を変更します。

 

リポジトリの参照先変更

方法は、以下のサイトを参考にしました。
Ubuntu 18.04のWSL上へのインストールと初期設定

[bash]
sudo sed -i.bak -e "s/http:\/\/archive\.ubuntu\.com/http:\/\/jp\.archive\.ubuntu\.com/g" /etc/apt/sources.list
[/bash]

このコマンドで、既定のリポジトリの参照先を日本のものに書き換えてくれます。 念のため、コマンドを実行する前にバックアップをとっておくともしもの時も安心です。

ようやくアップデートです。

[bash]
sudo apt update
sudo apt -y upgrade
[/bash]

時間がかかるのでまったりして待ちます。
この辺は、前回の記事で書いたscreenコマンドを使って同時並行で作業を進めると時間が短くなるかもですね。

 

Ruby環境の構築

Rubyも入れておきます。
デフォルトで入っているものはたいてい古いので、最新版を入れておきます。

rbenvの導入

自分でコンパイルすることもできますが、ここではrbenvを使っていきます。
手順は以下の通り。

[bash]
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ sudo apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev
[/bash]

上記では、インストールするためのものと依存ライブラリをインストールしています。 そして、rbenvに対してパスを通すために、以下の文言を「~/.bashrc」に追記します。

[bash]
[[ -d ~/.rbenv ]] && export PATH=${HOME}/.rbenv/bin:${PATH} && eval "$(rbenv init -)"
[/bash]

これにて、rbenvの準備が完了。
Rubyをインストールしていきます。

Rubyのインストール

[bash]
rbenv install -l
# インストールすることができるバージョンのリスト
rbenv install 2.6.3
rbenv global 2.6.3
rbenv rehash
[/bash]

基本的にほったらかしておくだけで終わります。
まったり待つだけです。
インストールが終われば完了です。

 

Hyperを使う

デフォルトではコマンドプロンプトやPowerShellを使うようですが、どうにも慣れない。
ここでは、以前Dockerのところで紹介したHyperを使うように設定していきます。

Hyperの設定ファイルを開き、shellの部分に「shell: 'C:\Windows\System32\bash.exe’,」と書き込んで保存。
簡単ですね。

 

まとめ

簡単ではありますが、WSLを使って開発環境を整えました。
仮想環境ではファイルのやり取りが面倒だったり、仮想環境に個別にソフトをインストールして設定したりと何度も同じような作業を行わなければいけませんでしたが、WSLではWindowsとLinuxがほぼシームレスにやり取りできるため楽ちんです。

Windows側にAtom等のエディタやGUIツールをインストールしておき、Linux側はRubyの実行環境とするなど、やり方はいろいろありそうですね。
また、ディストリビューションは独立にインストールできるので、ほかのものをインストールして触り心地を確かめることもできます。
お気に入りが見つかるかも。

 

今回は、ここまで。
おわり