Help us understand the problem. What is going on with this article?

WSL2の初歩メモ

概要

WSL2の設定からディストリビューションのインストールまでの初歩的な使い方をまとめたメモです。

環境

  • Windows 10 Professional バージョン 20H2 (インサイダープログラム参加)

参考

WSL2のインストール

WSL2のインストールはWindows 10 用 Windows Subsystem for Linux のインストール ガイドで詳しく説明されているので、このページを参考にインストールを行います。

WSLを有効にする

WSLを有効にしていない場合は、管理者権限でPowerShellを起動し下記コマンドを実行してWSLを有効にします。
すでに有効になっている場合は不要なのでスキップします。

PowerShell
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.329

イメージのバージョン: 10.0.19042.421

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。

WSLでインストールしたLinuxディストリビューションをアンインストールしたい場合

ディストリビューションによってはWSLからWSL2への更新に数分の時間がかかるようです。
今後使用しないディストリビューションがインストールされている場合は、事前にアンインストールしておくといいと思います。

PowerShell
> wsl --unregister Ubuntu-18.04
登録を解除しています...

仮想マシンプラットフォームを有効にする

続けて下記コマンドを実行して仮想マシンプラットフォームを有効にします。

PowerShell
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.329

イメージのバージョン: 10.0.19042.421

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。

PCの再起動

ここで一旦PCを再起動します。
PCが立ち上がったらコントロールパネルのWindowsの機能の有効化または無効化画面で

Linux 用 Windows サブシステム
wsl22.png
仮想マシン プラットフォーム
wsl23.png
にチェックが付いていることを確認します。

ちなみにWindowsの機能の有効化または無効化画面に素早くアクセスするには、Winキーを押してスタートメニューを表示させ、その状態で "windows fea (tures)"とまで入力すると図のように表示されるので、そこに表示されたWindowsの機能の有効化または無効化をクリックします。
wsl24.png

WSL2をデフォルトに設定

この設定を行うとインストールするディストリビューションのデフォルトがWSL2になります。

PowerShell
> wsl --set-default-version 2

このとき

  • "WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel" 若しくは
  • "WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください"

というメッセージが表示された場合はカーネルの更新が必要です。WSL 2 Linux カーネルの更新を参考に更新してください。

私の環境ではこれらのメッセージは表示されず、"エラー: 0x1bc"と表示されました。この現象はすでに報告されており(Error 0x1bc when setting wsl default version)、そのままカーネルの更新を続けても良いようです。

PowerShell
> wsl --set-default-version 2
エラー: 0x1bc
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

WSL 2 Linux カーネルの更新を参考にカーネルを更新し、もう一度実行すると設定が完了します。

PowerShell
> wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

以上でWSL2のインストールは完了です。

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

ディストリビューションはMicorosoft Storeから行います。

Ubuntu 20.04 LTSをインストール

Microsoft Storeを起動し検索フィールドに"Ubuntu"と入力して検索し、図の"Ubuntu 20.04 LTS"をクリックします。
wsl25.png
「入手」というボタンをクリックします。
wsl26.png
インストールが完了すると「起動」というボタンが表示されるのでクリックします。
wsl27.png
新しいウィンドウが開くので、アカウント名とパスワードを入力してUbuntuの新しいアカウントを作成します。このアカウントはLinux管理者とみなされsudoコマンドが実行できます。
wsl28.png
アカウントの作成が終わると図のようにメッセージが表示された後、プロンプトが表示されます。
wsl29.png

バージョンの確認

Ubuntu
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04 LTS
Release:        20.04
Codename:       focal

最新の状態に更新

下記コマンドで最新の状態に更新します。

Ubuntu
> sudo apt update && sudo apt upgrade -y
[sudo] password for rubytomato:

インストールしたディストリビューションの確認

PowerShellからwslコマンドでインストールしたディストリビューションを確認します。
VERSIONが2と表示されている通り、インストールしたUbuntu 20.04 LTSはWSL2で実行されています。

PowerShell
> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

PowerShell(またはコマンドプロンプト)からUbuntuのシェルを起動

wslコマンドを使用する

PowerShell(またはコマンドプロンプト)からUbuntuのシェルを起動するにはwslコマンドを実行します。

PowerShell
> wsl

オプションを指定せずに実行するとデフォルトのディストリビューションのシェルが起動しますが、複数のディストリビューションをインストールしていてデフォルト以外のディストリビューションのシェルを起動したい場合は-dオプションで、ディストリビューションを指定します。

PowerShell
> wsl -d {ディストリビューション名}

ubuntu2004コマンドを使用する

wslコマンドの他にディストリビューション名が付いた実行ファイルがあります。例えばUbuntu 20.04 LTSの場合ubuntu2004.exeという名前になります。

PowerShell
> ubuntu2004

ちなみにDebianの場合はdebian.exeでDebianのシェルを起動することができます。

PowerShell
> debian

ディストリビューションからPowerShellを起動

ディストリビューションのシェルからPowerShellやCMDを起動することもできます。
なお、Windows環境では実行ファイルの拡張子は省略できますが、ディストリビューションのシェルから実行する場合は拡張子を省略することができません。

たとえばPowerShellを起動するときは下記のように.exeまで入力する必要があります。

Ubuntu
$ powershell.exe

コマンドプロンプトを任意のディレクトリで起動したい場合は、下記のように/kオプションでcdコマンドを実行します。この例ではコマンドプロンプト起動後にカレントディレクトリをユーザーホームディレクトリに移動します。

Ubuntu
$ cmd.exe /k "cd %HOME%"

留意点

PowerShellやCMD、エクスプローラーをディストリビューションのシェルから起動するには、Cドライブがマウントされている必要があります。
後述しますが、Windowsの固定ドライブをマウントするかどうかは設定することができますので、Cドライブマウントされていないとこれらのコマンドは使えないことになります。

また、デフォルトでWindows環境の環境変数PATHの内容は、ディストリビューションのシェルの環境変数PATHに引き継がれているため、powershell.exeやcmd.exeなども絶対パスを指定せずに実行できます。

Ubuntu
$ which cmd.exe
/mnt/c/Windows/system32/cmd.exe

Windowsの環境変数PATHをディストリビューションに引き継ぎたくない場合は、/etc/wsl.confで設定可能で、下記のinteropセクションを追記します。

wsl.config
[interop]
appendWindowsPath = false

新しいユーザーを登録する

Ubuntu
$ sudo adduser test_user
Adding user `test_user' ...
Adding new group `test_user' (1001) ...
Adding new user `test_user' (1001) with group `test_user' ...
Creating home directory `/home/test_user' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for test_user
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]

新しいユーザーでログインする

デフォルトユーザーとは異なるユーザーでログインするには-uオプションでそのユーザーを指定します。

PowerShell
> wsl -u test_user

ログインするデフォルトユーザーを変更する

ログインするユーザーを指定しなかった場合、ディストリビューションのインストール時に作成したアカウントがデフォルトユーザーになります。

デフォルトユーザーでログイン

PowerShell
> wsl

デフォルトユーザーを変更する

デフォルトユーザーの変更はubuntu2004コマンドで行います。

PowerShell
> ubuntu2004 config --default-user test_user

これでユーザーを指定せずにtest_userでログインできます。

PowerShell
> wsl

rootユーザーでログイン

rootユーザーでログインしたい場合(たとえば、ディストリビューションインストール時に作成したLinux管理者ユーザーのパスワードを忘れた場合)、wslコマンドからrootユーザーでログインできます。

PowerShell
> wsl -u root

Debianをインストール

ドキュメントに例外的に WSL 2 ではなく WSL 1 を使用する場合という項目があるように、まだWSLを利用した方がよい場合があります。

この例ではインストールしたDebianをWSLで実行するようにしてみます。

Microsoft Storeを起動し検索フィールドに"debian"と入力して検索し、図の"Debian"をクリックします。
wsl30.png
「入手」というボタンをクリックします。
wsl31.png
インストールが完了すると「起動」というボタンが表示されるのでクリックします。
wsl32.png
新しいウィンドウが開くので、Debianの新しいアカウントを作成します。
図のようにアカウント名とパスワードを入力します。
wsl33.png

インストールしたディストリビューションの確認

PowerShellからwslコマンドでインストールしたディストリビューションを確認します。
VERSIONが2と表示されている通り、インストールしたDebianはWSL2で実行されています。

PowerShell
> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2
  Debian          Running         2

WSL2からWSLへ更新(ダウングレード)する

PowerShell
> wsl --set-version Debian 1
変換中です。この処理には数分かかることがあります...
変換が完了しました。

WSLのバージョンが変わったことを確認します。

PowerShell
> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2
  Debian          Stopped         1

Debianのシェルを起動します。(この記事ではDebianはデフォルトのディストリビューションではないので-dオプションで明示します)

PowerShell
> wsl -d debian

Windowsとディストリビューションの連携

ファイルシステム

Windowsからディストリビューション

エクスプローラーから

エクスプローラーを開き、アドレスバーに\\wsl$と入力すると実行中のディストリビューションがフォルダとして表示されます。
wsl34.png

もしくは、ディストリビューション内から下記のようにexplorer.exeを実行すると、そのディレクトリがエクスプローラーで開きます。

Ubuntu
$ explorer.exe .

PowerShellから

PowerShell
> cd \\wsl$\ubuntu-20.04

なお、コマンドプロンプトからは移動できないようです。

CMD
> cd \\wsl$\ubuntu-20.04
'\\wsl$\ubuntu-20.04'
CMD では UNC パスは現在のディレクトリとしてサポートされません。

ディストリビューションからWindows

Windowsのファイルシステムは、デフォルトで自動的に/mnt下に固定ドライブーがマウントされています。(光学ドライブは自動でマウントされません)

Ubuntu
$ sudo mount | grep drvfs
C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)
D:\ on /mnt/d type 9p (rw,noatime,dirsync,aname=drvfs;path=D:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)

マウントしたくない場合

固定ドライブを自動でマウントしたくない、もしくは手動でマウントしたい場合は、wsl.confというファイルで起動構成を設定します。

デフォルトでは作成されていないので、初回は作成する必要があります。

Ubuntu
$ sudo vi /etc/wsl.conf

下記のようにautomountセクションを追記します。

/mnt/wsl.conf
[automount]
enabled = false

fstabでマウントしたい場合

上記の設定に加え、/etc/fstabに下記の行を追記し、ディストリビューションを再起動します。

fstab
C: /mnt/c drvfs metadata,notime,gid=1000,uid=1000,defaults 0 0

再起動するには-tオプションでディストリビューションを一旦停止させ

> wsl -t Ubuntu-20.04

もう一度wslコマンドでディストリビューションを開きます。

> wsl

手動でマウントしたい場合

マウント

Ubuntu
$ sudo mount -t drvfs -o noatime,uid=1000,gid=1000, C:\\ /mnt/c

アンマウント

Ubuntu
$ sudo umount /mnt/c

rfd,wfdの値が違う

自動でマウントした場合とfstabまたはmountコマンドでマウントした場合で、rfdとwfdの値が異なります。

自動マウント

自動ではrfd=8,wfd=8

C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)

手動マウント

手動ではrfd=3,wfd=3

C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=3,wfd=3)

そもそもrfd、wfdが何を意味するのか分からないのですが、このようにmountコマンドの出力結果に違いが出ます。

ネットワーク

Windows(ホスト)側

wslでディストリビューションを開くとvEthernet (WSL)という仮想ネットワークアダプターが(無ければ)追加されます。
このとき設定されるIPv4は固定ではなく毎回異なります。

CMD
> ipconfig

Windows IP 構成

// 省略

イーサネット アダプター vEthernet (WSL):

  接続固有の DNS サフィックス . . . . .:
  リンクローカル IPv6 アドレス. . . . .: fe80::915c:3fa3:8ed5:721a%29
  IPv4 アドレス . . . . . . . . . . . .: 172.25.128.1
  サブネット マスク . . . . . . . . . .: 255.255.240.0
  デフォルト ゲートウェイ . . . . . . .:

WSL2(ゲスト)側

eth0はWSL2側の仮想イーサネットアダプターです。IPアドレスは固定ではありません。

Ubuntu
$ ip addr | grep eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 172.25.134.52/20 brd 172.25.143.255 scope global eth0

Windowsからディストリビューション

HTTP-SERVER

ディストリビューション内に立ち上げたHTTPサーバーへWindowsのブラウザからアクセスしてみます。
ここではnpmのhttp-serverを利用しました。

http-serverのインストール

Ubuntu
$ sudo npm install -g http-server
/usr/local/bin/http-server -> /usr/local/lib/node_modules/http-server/bin/http-server
/usr/local/bin/hs -> /usr/local/lib/node_modules/http-server/bin/http-server
+ http-server@0.12.3
added 23 packages from 35 contributors in 4.323s

テスト用ファイルの作成

$ mkdir public
$ vi ./public/index.html
index.html
<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>The HTML5 Herald</title>
  <meta name="description" content="The HTML5 Herald">
  <meta name="author" content="SitePoint">
</head>
<body>
  <div id="app">
    <h1>index from ubuntu on wsl2</h1>
  </div>
</body>
</html>

起動

Ubuntu
$ http-server
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://172.30.12.40:8080
Hit CTRL-C to stop the server

アクセス

この場合、Windows側のブラウザからhttp://127.0.0.1:8080 またはhttp://172.30.12.40:8080でアクセスできます。

MySQL

ディストリビューション内に立ち上げたMySQLサーバーへWindowsのMySQLクライアントからアクセスしてみます。

MySQLクライアントのインストール

Windows側なので割愛します。

MySQLサーバーのインストール

Ubuntu
$ sudo apt install -y mysql-server

起動

インストール直後は停止しているので

Ubuntu
$ sudo service mysql status
 * MySQL is stopped.

起動します。

Ubuntu
$ sudo service mysql start
 * Starting MySQL database server mysqld
su: 警告: ディレクトリを /nonexistent に変更できません: そのようなファイルやディレクトリはありません
                                                                                                [ OK ]

*警告の部分はのちほど対応します。

インストール後のセットアップ

Ubuntu
$ sudo mysql_secure_installation

rootでログイン

セットアップが終わったらrootユーザーでログインしてみます。sudoを付け忘れると正しいパスワードを入力してもログインできません。

Ubuntu
$ sudo mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.21-0ubuntu0.20.04.4 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

bind_addressの変更

Windows側のMySQLクライアントからログインできるようにbind_addressを変更します。

Ubuntu
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

下記の行をコメントアウトします。

#bind-address           = 127.0.0.1

警告の対応

MySQLサーバー起動時に出力された警告に対応します。

Ubuntu
$ sudo usermod -d /var/lib/mysql mysql

ここで一旦再起動します。

Ubuntu
$ sudo service mysql restart

データベースとユーザーの作成

> CREATE DATABASE IF NOT EXISTS sample_db
  CHARACTER SET = utf8mb4
  COLLATE = utf8mb4_general_ci;

Windowsからログインできるユーザーを作成します。
WindowsのIPアドレスが変わってもいいようにホストをワイルドカードにしています。

> CREATE USER IF NOT EXISTS 'sample_user'@'%'
  IDENTIFIED BY 'sample_pass'
  PASSWORD EXPIRE NEVER;

> GRANT ALL ON sample_db.* TO 'sample_user'@'%';

> FLUSH PRIVILEGES;

ログイン

WinsowsのMySQLクライアントからディストリビューションのMySQLサーバーへログインします。
ホストにディストリビューションのeth0のIPアドレスを指定します。

PowerShell
> mysql -h 172.30.12.40 -u sample_user -p
Enter password: ***********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.21-0ubuntu0.20.04.4 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

eth0のIPアドレスを調べる

Ubuntu
$ ip addr | grep eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 172.30.12.40/20 brd 172.30.15.255 scope global eth0

ディストリビューションからWindows

HTTP-SERVER

Windowsで立ち上げたHTTPサーバーにディストリビューション内からアクセスしてみます。

インストール

割愛します。

テスト用ファイルの作成

PowerShell
$ mkdir public

public内にindex.htmlファイルを作成

index.html
<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>The HTML5 Herald</title>
  <meta name="description" content="The HTML5 Herald">
  <meta name="author" content="SitePoint">
</head>
<body>
  <div id="app">
    <h1>index from windows</h1>
  </div>
</body>
</html>

起動

Windowsからは下記3つのアドレスへアクセスできますが、

PowerShell
> http-server
Starting up http-server, serving ./public
Available on:
  http://192.168.1.20:8080
  http://127.0.0.1:8080
  http://172.30.0.1:8080
Hit CTRL-C to stop the server

アクセス

ディストリビューションからは192.168.1.20:8080へしかアクセスできません。

Ubuntu
$ curl -i http://192.168.1.20:8080
HTTP/1.1 200 OK
server: ecstatic-3.3.2
cache-control: max-age=3600
last-modified: Fri, 07 Aug 2020 13:25:36 GMT
etag: W/"844424930696936-300-2020-08-07T13:25:36.438Z"
content-length: 300
content-type: text/html; charset=UTF-8
Date: Fri, 07 Aug 2020 16:09:39 GMT
Connection: keep-alive

<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>The HTML5 Herald</title>
  <meta name="description" content="The HTML5 Herald">
  <meta name="author" content="SitePoint">
</head>
<body>
  <div id="app">
    <h1>index from windows</h1>
  </div>
</body>
</html>

理由がよくわかりませんが172.30.0.1:8080へはアクセスできません。(MySQLの場合172.30.0.1でアクセスできる)

Ubuntu
$ curl -i http://172.30.0.1:8080
curl: (28) Failed to connect to 172.30.0.1 port 8080: 接続がタイムアウトしました

MySQL

Windowsで立ち上げたMySQLサーバーへディストリビューションのMySQLクライアントからアクセスしてみます。

MySQLサーバーのインストール

Windows側なので割愛します。

bind_addressの設定は以下の通りです。

mysql> show variables like '%bind%';
+---------------------+-------+
| Variable_name       | Value |
+---------------------+-------+
| bind_address        | *     |
| mysqlx_bind_address | *     |
+---------------------+-------+
2 rows in set, 1 warning (0.03 sec)

データベースとユーザーの作成

> CREATE DATABASE IF NOT EXISTS sample_db
  CHARACTER SET = utf8mb4
  COLLATE = utf8mb4_general_ci;

ディストリビューションからログインできるユーザーを作成します。
ディストリビューションのIPアドレスが固定ではないので、ホストをワイルドカードにしています。

> CREATE USER IF NOT EXISTS 'sample_user'@'%'
  IDENTIFIED BY 'sample_pass'
  PASSWORD EXPIRE NEVER;

> GRANT ALL ON sample_db.* TO 'sample_user'@'%';

> FLUSH PRIVILEGES;

MySQLクライアントのインストール

Ubuntu
$ sudo apt install -y mysql-client

ログイン

ディストリビューションのMySQLクライアントからWindowsのMySQLサーバーへログインします。
ホストに172.30.0.1または192.168.20.1を指定します。

Ubuntu
$ mysql -h 172.30.0.1 -u sample_user -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.19 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

etc

日本語化

WSLのUbuntu環境を日本語化するを参考に日本語化します。

ロケールの設定

使用可能なロケールを確認

Ubuntu
$ locale -a
C
C.UTF-8
POSIX
en_US.utf8

ランゲージパックをインストール

Ubuntu
$ sudo apt install -y language-pack-ja

インストール後の使用可能なロケールを確認

Ubuntu
$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
ja_JP.utf8

ロケールをja_JP.UTF-8に設定

Ubuntu
$ sudo update-locale LANG=ja_JP.UTF-8

ここで一旦exitして、再度ディストリビューションを開きます。

タイムゾーンをJSTに設定

Ubuntu
$ sudo dpkg-reconfigure tzdata

tzdataを設定するメニューが開きます。
Screenshot_1.png
Screenshot_2.png

日本語のmanページをインストール

Ubuntu
$ sudo apt -y install manpages-ja manpages-ja-dev

Node.jsのインストール

さきにcurlをインストールします。

Ubuntu
$ sudo apt install -y curl

Ubuntu 20.04 LTSにNode.jsをインストールする手順はUbuntuに最新のNode.jsを難なくインストールするを参考にさせて頂きました。

インストールしたバージョンは下記の通りです。

Ubuntu
$ node -v
v12.18.3
$ npm -v
6.14.6

Vue.jsのインストール

Ubuntu
$ sudo npm install -g @vue/cli
Ubuntu
$ vue -V
@vue/cli 4.4.6

プロジェクトを作成する

Ubuntu
$ vue create hello-world
Ubuntu
$ cd hello-world

$ npm run serve
 DONE  Compiled successfully in 3227ms                                                                                                                   
  App running at:
  - Local:   http://localhost:8080/
  - Network: http://172.30.11.30:8080/

  Note that the development build is not optimized.
  To create a production build, run npm run build.

Windows側のブラウザからhttp://localhost:8080/またはhttp://172.30.11.30:8080/へアクセスしてみます。
Screenshot_3.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした