はじめに
(注意) この記事は小林研究室に所属するゼミナールのための記事なので、3年生は読み飛ばして欲しい。
今年度ゼミナール所属学生のうち、半数以上が macOS ユーザではなかった。macOS ユーザだったら、「Homebrew でこれだけ入れといてね」で済むのだが、Windows の場合にシステムを構築しようとするとかなり難しい。Windows の方では WSL を導入し、その中で開発環境を揃えようと思う(5月の大型アップデートが来たら WSL2 にする予定)。
Windows Subsystem for Linux のインストール
最初に Windows Subsystem for Linux (以下 WSL と記載) をインストールする。まず、ウインドウメニューの右クリックで「アプリと機能」を選択し、一番下までスクロールして「プログラムと機能」をクリックする。
開いた画面で「Windows の機能の有効化または無効化」をクリックし、その中にある「Windows Subsystem for Linux」にチェックを入れる。
再起動が求められるので、指示の通り再起動する。再起動後は Microsoft Store を開き、「Ubuntu」で検索する。
開いた画面で「入手」をクリックする。
インストールが終わると「起動」というリンクができるので、起動ボタンをクリックする。
起動すると以下のような画面が表示される。ユーザ名とパスワードを入力すると Ubuntu の起動画面となる。
Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: hkob New password: Retype new password: passwd: password updated successfully Installation successful! To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. Welcome to Ubuntu 20.04 LTS (GNU/Linux 4.4.0-18362-Microsoft x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Fri Apr 24 14:31:10 JST 2020 System load: 0.52 Processes: 7 Usage of /home: unknown Users logged in: 0 Memory usage: 30% IPv4 address for eth1: 192.168.65.130 Swap usage: 0% 0 updates can be installed immediately. 0 of these updates are security updates. This message is shown once once a day. To disable it please create the /home/hkob/.hushlogin file. hkob@DESKTOP-6SLM86P:~$
rbenv のインストール
ここから先は Ubuntu の上で実施する。Ubuntu では apt を用いて環境構築を行う。 最初に apt の update を行う。
sudo apt udpate
現状でいくつかのパッケージがアップデートされるようなので、以下のコマンドでアップグレードしておく。
sudo apt upgrade
コマンドラインを使いやすくするために最初に fish をインストールしておく。
sudo apt install fish
インストールが終わったら、exec fish として、fish に切り替えておく。こんな感じでプロンプトが変わるはず。
hkob@DESKTOP-6SLM86P:~$ exec fish ¶ Welcome to fish, the friendly interactive shell Type `help` for instructions on how to use fish hkob@DESKTOP-6SLM86P ~>
ここからは、rbenv のインストール方法を参考に進めていく。まず、git clone をするとのことなので、apt で git をインストールする。
sudo apt install git
指示通り、まず rbenv のリポジトリを ~/.rbenv の下に取得する。
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
次はコンパイルなのだが、まだコンパイラがないので実行できない。apt で build-essential をインストールする。
sudo apt install build-essential
ここで、コンパイルを実行する。
cd ~/.rbenv && src/configure && make -C src
fish 用にパスを設定する。$PATHがコマンドラインで展開されないように\$にしていることに注意する。>> のリダイレクトで追記にしているので、既存の config.fish がある場合には下に追記される。
echo set -gx PATH ~/.rbenv/bin \$PATH >> ~/.config/fish/config.fish
念のため、cat で確認する。
cat ~/.config/fish/config.fish
以下のコマンドで .config/fish/config.fish を読み込む(「.」の後ろのスペースを忘れないこと)。その後、printenv PATH として、rbenv/bin が入っていれば成功である。
. ~/.config/fish/config.fish
さらに config.fish に rbenv の初期化コマンドを追記する。
echo 'status --is-interactive; and rbenv init - | source' >> ~/.config/fish/config.fish
一度、Ubuntu を exit で終了して、Windows メニューから起動して、exec fish をやってみてエラーがなければ、ここまでは Ok。
ruby-build のインストール
まず、プラグインフォルダを作成する。
mkdir -p (rbenv root)/plugins
ruby-build を git clone する。
git clone https://github.com/rbenv/ruby-build.git (rbenv root)/plugins/ruby-build
ここまで正しく動いているかを doctor で確認する。
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Ruby のビルドにはいろいろなパッケージが必要とのことなので、apt でインストールする。
sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev
インストールできる ruby を確認する。最新版が 2.7.1 であることがわかる。
rbenv install -l | grep 2.7
というわけで、最新版の 2.7.1 をインストールする。これはかなり時間がかかる。
rbenv install 2.7.1
終了したら以下のコマンドで通常使う ruby のバージョンを指定する。
rbenv global 2.7.1
最後に ruby -v として Ruby のバージョンを確認すると 2.7.1 が動作していることがわかる。
hkob@DESKTOP-6SLM86P ~> ruby -v ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
Visual Studio Code の拡張機能をインストール
WSL をインストール後に Visual Studio Code を起動すると、拡張機能のインストールを推奨される。
インストールすると Remote-WSL という機能拡張がインストールされる。
これにより、Visual Studio Code で WSL 上のファイルが直接編集できるようになる。やり方は、別に説明する。