WSLをインストールしてWindows10上でUbuntu環境を実行する

Windows10上でLinux環境を構築するWSLを使ってみたのですが、すごく便利だったので、そのインストール方法などを紹介します。
一昔前ならCygwin使ったりしてましたが、こっちの方がいいですね。(Visual Studio Codeをメインエディタとして使ってるのもあるかな)

WSLとは

Windows Subsystem for Linuxのことで、Windows10(64ビット版)の version 1709(Fall Creators Update) から正式版の利用が可能になりました。主な特徴はこんな感じです。

  • 仮想マシンよりパソコンの消費リソースが抑えれる
  • Linux環境からWindows上のファイルへアクセスが可能
  • WindowsからもLinux環境のファイルへアクセスが可能

WSLをインストールする

まずWSLを有効化し、目的のディストリビューションをインストールする流れになります。本記事はUbuntuをインストールする手順になっています。

WSLを有効にする

  1. 設定(コントロールパネル)>アプリ WSLインストール
  2. アプリと機能>関連設定>プログラムと機能 WSLインストール
プログラムと機能が見つからなかったりクリックできない場合は、エクスプローラを開き「コントロール パネル\プログラム\プログラムと機能」とアドレスバーに入力します。
  1. Windows の機能の有効化または無効化 WSLインストール
  2. Windows Subsystem for LinuxをチェックしてOKボタン WSLインストール
  3. Windowsを再起動する

Ubuntuをインストールする

  1. Microsoft Storeを起動 WSLインストール
  2. WSLを検索 WSLインストール
  3. Ubuntuを選択 WSLインストール
  4. 入手ボタンをクリックし、ダウンロードとインストールを行う WSLインストール

インストールしたUbuntuを起動します。
しばらくするとユーザ名とパスワードの入力になります。任意の値を設定してください。

Node.jsをインストールして実行してみる

折角なのでNode.jsをインストールして実行してみましょう。

最初に以下のコマンドを実行します。

sudo apt update
sudo apt upgrade

Node.jsのインストール

目的に応じて、インストール方法を選んでください。

aptコマンドでインストールする

apt(apt-get)でインストールした場合、古いバージョンのNode.jsがインストールされるので注意しましょう。

sudo apt install nodejs
node -v

node -vはNode.jsのバージョンを表示するコマンドです。この時Node.jsのサイトで記載されている安定版や最新版でないことが確認できると思います。

Node.js LTS

Personal Package Archiveを使ってインストールする

インストールしたいバージョンがある場合は、PPA(Pen-Pineapple-ApplePersonal Package Archive)を使用します。
Node.jsの公式リポジトリからインストールする方法です。
まず、以下のパッケージがない場合はインストールしてください。

sudo apt install curl
sudo apt install make
sudo apt install gcc
sudo apt install g++

https://github.com/nodesource/distributions
を参考にして、目的のバージョンを取得し、インストールします。

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v

nvmを使って安定版をインストールする

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash

上記実行後、

command -v nvm

nvmが表示されることを確認します。表示されない場合はUbuntuを再起動してください。
または

nvm --version

not foundならUbuntuを再起動してください。

以下のコマンドを実行し、安定版をインストールします。

nvm install --lts
node -v

n packageを使ってインストールする

まず、aptコマンドなどでnodejsとnpmをインストールします。その後、以下のコマンドでnをインストールします。

sudo npm install n -g

nをインストールしたら、以下のコマンドで目的のバージョンをインストールできます。

sudo n バージョン

安定版の場合をインストールする場合は以下のコマンドになります。

sudo n stable

動かしてみる

簡単なNode.jsのサービスを作って動かしてみましょう。

mkdir hello-nodejs
cd hello-nodejs/
npm init

hello-nodejsに以下のファイルを作成します。

  • http.js
  • test.html

各ファイルの内容は以下のようにします。

http.js

const http = require('http');
const fs = require('fs');

var server = http.createServer(
    (request, response) => {
        fs.readFile('./test.html', 'UTF-8',
        (error, data) => {
            response.writeHead(200, {'Content-Type':'text/html'});
            response.write(data);
            response.end();
        });
    }
);
server.listen(3000);
console.log('server running...')

test.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>nodejs-test</title>
</head>
<body>
<h1>Node.js Test</h1>
</body>
</html>

以下のコマンドを実行します。Windows側でファイアウォールの設定が表示された場合は許可してください。

node http.js

ブラウザでhttp://localhost:3000にアクセスし、ページが表示されることを確認します。

Node.jsページ

ファイルアクセス

WSLからWindows上のファイルにアクセスする

/mnt/ドライブ名で対象のドライブにアクセスできます。下記はCドライブに移動する場合。

cd /mnt/c

WindowsからWSL上のファイルにアクセスする

エクスプローラーのアドレスバーに\\wsl$と入力することでアクセスできます。
※Windows10 1903以降で利用可能
以下のようにインストールしたディストリビューションが表示されない場合は、WSLのアプリケーションを起動してみてください。

WSLファイルの参照
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

関連コンテンツ

スポンサードリンク

Comments
  1. kokei より:

    こんにちは。わからないことがあって色々検索したらこちらに来ました。おたずねしたいのですが、Windows10にubuntuをインストールした後、あるアプリをインストール。そのアプリはどのように起動したらいいか?インストールしたubuntuのウィンドウ内でコマンドラインでしか使えないのか?この先アプリの起動の仕方がわかりませんのでお聞きしたいのですが・・・ よろしくお願いいたします。

Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です