0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LinuxとWSLとは?Web開発でよく使われる理由を初心者向けに解説

0
Posted at

はじめに

Web開発の学習を始めると、

npm install

git clone

などのコマンドが当たり前のように登場します。

さらに調べていると、

  • Linux
  • ターミナル
  • Ubuntu
  • WSL

という言葉も出てきます。

私自身も最初は、

「Linuxって何?」
「Windowsを使っているのに必要なの?」

という状態でした。

今回はLinuxとWSLについて、自分なりに整理してみます。


Linuxとは

LinuxはOS(オペレーティングシステム)の一種です。

OSとは、アプリケーションやハードウェアを管理し、
コンピューターを動かすための基本ソフトウェアです。

普段使われているOSには次のようなものがあります。

  • Windows
  • macOS
  • Linux

なぜWeb開発でLinuxが使われるのか

Web開発ではLinuxがよく利用されています。

理由の一つは、多くのサーバーがLinuxで動いているためです。

例えば、

  • AWS
  • GCP
  • Azure

などのクラウドサービスでもLinuxが広く利用されています。

そのため、開発者もLinux環境に慣れておくメリットがあります。


WSLとは

WSLは

Windows Subsystem for Linux

の略です。

簡単に言うと、

Windows上でLinuxを動かせる仕組み

です。

以前はLinuxを利用するために、

  • Linux専用PC
  • デュアルブート
  • 仮想マシン

などが必要でした。

しかしWSLを利用すると、Windowsを使いながらLinux環境も利用できます。


なぜWindowsユーザーがWSLを使うのか

私も現在はWindows上でWSL(Ubuntu)を利用しています。

例えばNode.jsやGitなどをLinux環境で動かせるため、

技術記事やチュートリアルの手順をそのまま試しやすくなります。

私自身もReactやNext.jsの学習を進める中でWSLを利用するようになりました。

また、

node
npm
git

などもLinux環境で利用できます。


よく使うLinuxコマンド

現在の場所を確認

pwd

ファイル一覧を表示

ls

ディレクトリ移動

cd フォルダ名

フォルダ作成

mkdir sample

ファイル内容表示

cat sample.txt

ファイル検索

find . -name "*.ts"

文字列検索

grep -r "useState" .

WSLを使っていてハマったこと

実際に利用していていくつか詰まったポイントもありました。


git pushが突然失敗した

ある日、

git push

を実行すると、

Missing or invalid credentials.
fatal: Authentication failed

というエラーが発生しました。

原因はWSLではなく、GitHub認証の問題でした。

GitHub CLIを利用して再認証することで解決しました。

詳しい内容は別記事でまとめようと思いますが、
当時は認証が切れていたことが原因でした。

gh auth login

curlが意外と便利だった

APIの動作確認ではThunder Clientを使おうとしていました。

しかし最終的にはcurlを利用することが多くなりました。

GETリクエスト

curl http://localhost:3000/api/health

POSTリクエスト

curl -X POST http://localhost:3000/api/products \
-H "Content-Type: application/json" \
-d '{"name":"りんご"}'

GUIツールがなくても確認できるため便利でした。


code . を知らなかった

最初はVSCodeからフォルダを探して開いていました。

現在はWSLで、

code .

を利用しています。

例えば、

cd ~/dev/web/project
code .

のように実行すると、そのフォルダをVSCodeで開けます。


LinuxとWSLの関係

イメージとしては次のようになります。

Windows
 └─ WSL
      └─ Ubuntu(Linux)
           ├─ Node.js
           ├─ npm
           ├─ Git
           └─ 開発環境

私は現在この環境で、

  • React
  • Next.js
  • TypeScript

などを学習しています。


まとめ

  • LinuxはOSの一種
  • Web開発ではLinux環境がよく使われる
  • WSLを使うとWindows上でLinuxを利用できる
  • Linuxコマンドは開発で頻繁に登場する
  • GitやNode.jsなどもWSL上で利用できる

最初は難しく感じましたが、実際によく使うコマンドはそれほど多くありません。

私も学習しながら少しずつ慣れてきました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?