【WSL】【初心者】Windowsでの環境構築

公開:2021/02/10
更新:2021/02/10
7 min読了の目安(約7000字TECH技術記事

この記事ではWindowsユーザーがプログラミングをするためにしておいた方がいい環境構築をしていきます。

Windowsで開発する際の辛いポイントはいくつかあります。

  1. file pathがUnix系と異なる
  2. コマンド群がUnix系と異なる
  3. もろもろUnix系と異なる

とまぁ、基本的にUnix系と異なる部分で辛さを感じます。そこでWindowsでもUnix系と同様に開発をしていく方法として

  1. 仮想PCで開発する
  2. WSL(Windows Subsystem for Linux)を使って開発する
  3. dockerで開発する

1の方法はOracle VM VirtualBoxを使えば実現できるのですが、PCの中でPCを起動するので動作も重くメモリなども喰ってしまいます。また、ホスト(Windows)から仮想マシン(Linux)へテキストをコピペしたりする場合も面倒だった印象があります。

2の方法について詳しく理解できているわけではないのですが、Linuxを動かすための命令をWindowsが解釈できるように変換して動作させているといった具合だと思います。WSLを使うとファイル読み書きは若干遅い時もありますが概ね快適に作業することができます。

3の方法は開発している物をdockerで動かすという使い方なら2の方法と同様でいいのですが、エディターの設定ファイルなどがWindows版とUnix版で異なる場合があり、不便さは拭えません。また、初心者にとってdockerで開発をしていくには壁が多く、それならWSLで開発した方が簡単なのかなと思います。

以上から私はWSLを使った開発環境の構築手順を説明したいと思います。

WSLのセットアップ

基本的にはMicrosoftの説明をみてもらえればいいのですが、さらに詳しく説明していきます。

Windows Insider Programに参加する

  1. 設定を開く
  2. 更新とセキュリティを開く
  3. Windows Insider Programを開く
  4. アカウントをリンクして、Windows Insider Programに参加する


    画像では「ベータチャネル」を選択していますが、「Devチャネル」を選択してください。


    再起動を選択してください。
  5. Windows Updateを繰り返して最新の状態にする


    再起動後もう一度「更新プログラムのチェック」をして更新プログラムがなくなるまで繰り返してください。

WSLの利用を開始する

  1. 管理者権限でPowerShellを開く
  2. wsl --installと実行する
  3. 実行が完了したらPCを再起動する
  4. 起動してしばらくすると以下のような黒い画面(ターミナル)が立ち上がるのでしばらく待ってください

    しばらく表示が切り替わらない場合は画面をクリックした後にエンターキーを押したりすると先に進んだりします。

Ubuntuの設定をする

  1. Ubuntuが立ち上がるのでユーザーの作成をする。
    1. ユーザー名を入力する
      ユーザー名に日本語文字などは含めないようにしてください。
      このユーザー名はWindowsのものと同じである必要はありません。
    2. パスワードを作成する
      次に、パスワードを決めて入力してください。画面には表示されませんが入力されたことになってます。エンターキーで確定してください。これもWindowsのものと同じである必要はありません。
    3. パスワードの確認をする
      もう一度同じパスワードを入力してください。
  2. ubuntuを最新の状態にする
    ubuntuで sudo apt update && sudo apt upgrade -yと入力し、実行してください。
    (僕のPCの場合コピーした後貼り付けるにはCtrl + Vではなく、右クリックをすることで貼り付けができました。)

    すると、パスワードを聞かれるので、先ほど設定したパスワードを入力してください。このパスワードも表示されませんが入力できています。

homebrewをインストールする

  1. Ubuntuで/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"と実行してください。

    その後以下のようにエンターキーを押すように求めらるので押しましょう。
  2. Next Stepに示された内容を実行する

    僕の場合は以下のことをすれば良いそうです。(バージョンによっても変わると思うのでもしかしたら今後変わるかもしれません。)
    1. echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >> /home/<ユーザー名>/.bash_profileと実行する(ユーザー名の部分は適宜変更。画像では<ユーザー名>/.profileとなってますが、ここは.bash_profileとしてください。)
    2. eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)と実行
      一応この時点でbrewを使う準備はできました。ただ、他にもお勧めしているものなどがあるので、そちらもやっておきましょう。
    3. sudo apt-get install build-essential -yと実行する
      -yフラグを立ててください。立てない場合は何度か継続しますか?と聞かれるので、Yと答える必要があります。
    4. brew install gccと実行する

Python, Node.jsなどの言語のセットアップ

各言語関係はanyenvを利用してインストールできるようにしていきます。

  1. brew install anyenvと実行する
  2. anyenv initと実行して指示された内容を実行する。

    僕の場合はeval "$(anyenv init -)"~/.bash_profileに追記しろとのことなので、
    1. echo 'eval "$(anyenv init -)"' >> ~/.bash_profileと実行する
  3. 一度ウィンドウを閉じて、新しくUbuntuを立ち上げる
  4. anyenv install --initと実行する
    本当に続けるか聞かれるのでyと入力し、実行する。
  5. anyenv-updateをインストールする
    1. mkdir -p $(anyenv root)/pluginsと実行する
    2. git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-updateと実行する
  6. anyenv install pyenvと実行しpyenvを入れる
  7. anyenv install nodenvと実行しnodenvを入れる
  8. exec $SHELL -lと実行する
  9. pyenv --versionnodenv --versionとそれぞれ実行し、きちんとインストールされていることを確認する。
  10. pythonをインストールする
    1. pyenv install --listとしてインストールできるバージョンを表示する
    2. 表示されている中で無印のpythonの中で最新の物を確認する。
      無印のものとはanaconda3-x.x.xとかってなっておらず、純粋に数字だけのもの。上の方にスクロールするとでてくる。
      2021年2月10日時点では3.9.1が最新となっているので、今回はこれをインストールします。
      もし、深層学習をやる方でTensolflowを使う方がいれば現時点ではpython3.8までにしか対応していないので、その場合は3.8系の最新のものを入れるといいと思います。
    3. pyenv install 3.9.1を実行する(バージョンは適宜変えてください)
      すると、エラーが出てきました。。ログファイルを元に以下のコマンドを実行し、足りない物をインストールできます。
      sudo apt-get install zlib1g-dev openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev -y
      実行したらパスワードを聞かれるので、先ほど作成したパスワードを入力してください。
      そしたらもう一度pyenv install 3.9.1を実行してください。(バージョンは適宜変えてください)
    4. pyenv global 3.9.1を実行する(バージョンは適宜変えてください)
    5. python -Vと実行して先ほどインストールしたPythonのバージョンが表示されていることを確認してください。
  11. Nodejsをインストールする
    1. nodenv install --listとしてインストールできるバージョンを表示する
    2. 表示されている中で無印のNodejsの中で最新の物を確認する
      無印の物とはPythonの時と同様で数字のみのものです。
      2021年2月10日時点では15.8.0が最新なので、それをインストールします。
    3. nodenv install 15.8.0を実行する(バージョンは適宜変えてください)
    4. nodenv global 15.8.0を実行する(バージョンは適宜変えてください)
    5. node -vと実行して先ほどインストールしたNodejsのバージョンが表示されていることを確認してください。

VSCodeのセットアップ

  1. Ubuntuでsudo apt-get install wget ca-certificates -yと実行してください
  2. https://code.visualstudio.com/download からWindowsのものをインストールする
    その際にインストーラーで以下のオプションをつけるようにしてください。
  3. リモート開発拡張機能パックをインストールします。
    1. ブラウザでインストールを押してVSCodeを開いてください。
      途中でVSCodeで開くか?みたいに聞かれるので「はい」を選択してください。
    2. VSCodeでインストールを押してください

開発に必要な物をインストールする

gitをインストール

  1. 元々入っているgitを削除する
    sudo apt purge git -yを実行
    パスワードを聞かれるので答えてください。
  2. brew経由でgitをインストールする
    brew install gitを実行