はじめに
最近弊社ではAIの利活用を推進していて、各部門各部署AIで活気づいています。その一環で、僕はMCP(Model Context Protocol)サーバーの開発をしてみることにしました。MCPサーバーはNode.jsで実装されていることが多いため、Node.jsでの開発をすることにしたのですが、Node.jsでの開発はその性質上Linuxで行うほうが非常に楽です。
しかしながら僕が会社から支給されている端末はWindowsのため、何か手はないものかといろいろ探していました。
(マネージャーへ。MacBook支給してください。僕より。)
そこで見つけたのが今回のコラムの話の肝である「Windows Subsystem for Linux(WSL)」(以下WSL)です。
Node.js開発におけるLinuxの優位性
前項にて「Node.jsでの開発はその性質上Linuxで行うほうが非常に楽」と書きましたが、どのあたりが良いのかをWSLの紹介の前にちょっと見てみましょう。
パッケージ管理の安定性
npmやyarnなどのパッケージマネージャーが、Linux環境であれば安定して動作する。特にネイティブモジュールのビルド時に、Windows特有のエラーに悩まされることが少ない。
開発ツールの充実
多くのNode.js関連ツールやライブラリは、Linux環境を前提として設計されているため、セットアップやトラブルシューティングの情報が非常に豊富であり、開発効率が向上する。
本番環境との一致
AWSを始めとした多くのクラウド環境はベースがLinuxであるため、開発環境を合わせることで、デプロイ時の予期しない問題を回避できる。
このように、Node.js開発ではLinuxを使うほうが非常に恩恵が大きいです。
そもそもWSLとはなんぞや
さて、本題のWSLについてです。
WSLは、Microsoftが開発したWindows上でLinux環境を実行できる機能です。従来の仮想マシンとは異なり、Windowsカーネル上でLinuxバイナリを直接実行できるため、軽量で高速な動作が特徴です。
現在はWSL2が主流となっており、完全なLinuxカーネルを使用することで、より高い互換性とパフォーマンスを提供しています。
特徴としてはこんな感じです。
軽量性
仮想マシンと比較して低いリソース消費
統合性
WindowsファイルシステムとLinuxファイルシステムの相互アクセス
パフォーマンス
ネイティブLinuxに近い実行速度
開発効率
LinuxコマンドとWindowsアプリケーションの併用
導入してみる
WSLの導入ですが、非常に簡単です。3ステップで終わります。
1. Windowsの設定変更
コントロールパネルから「Windows の機能の有効化または無効化」を開き、以下の設定を有効化します。
-
Linux 用Windows サブシステム
-
仮想マシンプラットフォーム
2. WSLのインストール
ターミナルかPowerShellで以下のコマンドを実行します。
wsl --install
3. 端末の再起動
再起動を要求されていると思いますので再起動しましょう。
はい、終わりです。
既定ではこの時点でUbuntuがインストールされています。「Ubuntu嫌い!」って方でもご安心ください、インストールできるディストリビューションは結構あります。
僕はUbuntuで困っていないので、このままUbuntuを使うことにしました。
ついでにNode.jsのインストールをしてしまいましょう。
以下のコマンドでUbuntuへのNode.jsのインストールができます。
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
※「setup_20.x」の20のところはインストールしたいNode.jsのバージョンにします
インストールできたらNode.jsとnpmのバージョンの確認をしておきましょう。
node --version
npm --version
これでLinux環境で動くNode.jsの爆誕です。
まとめ
WSLを導入することで、Windows環境を維持しながらLinuxの利点を活用したNode.js開発が実現できました。環境の制約を受けずに、最適な技術選択ができるようになったのは大きいですね。
Windows環境でのLinux開発を検討している方には、ぜひWSLをお試しいただければと思います。
最後に、弊社にはSalesforceのスペシャリストが多数在籍しております。
何かお困りごとがございましたら、下記ボタンからお気軽にご相談くださいませ。
お問い合わせはこちら