🦁

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

2021/02/10に公開

この記事では 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を実行
GitHubで編集を提案

Discussion