目次
この記事について
この記事では、注目のオープンソースソフトウェア(OSS)「Bun」を紹介します。この記事は、連載第68回にあたります。
ソフトウェア開発の現場では、JavaScriptやTypeScriptのアプリケーションの開発効率を向上させるツールが常に求められています。その中で、Bunは独自のランタイムを提供し、Node.jsの代替として注目を集めています。Bunは、シングルエグゼキュータブルとして提供され、多くの機能を内包しており、開発の生産性を大幅に向上させる可能性があります。
この記事を通じて、Bunがどのように開発環境を変革し、特にスタートアップタイムやメモリ使用量を抑えつつ、より快適な開発体験を提供するのかについて詳しく掘り下げます。また、Bunが提供する様々な機能や使い方も紹介し、開発者にとっての意義を明らかにしていきます。ぜひご覧ください。
リンク:https://github.com/oven-sh/bun


本コンテンツは、弊社AI開発ツール「IXV」を用いたOSSツール紹介です。情報の正確性には努めておりますが、内容に誤りが含まれる可能性がございますのでご了承ください。
1. Bunでできること
BunはJavaScriptおよびTypeScriptアプリケーション用のオールインワンツールキットです。主に以下の機能を提供します。
1.1 Bunランタイム
Bunは、Node.jsの代替として設計された高速なJavaScriptランタイムです。Zigで書かれ、JavaScriptCoreを使用しており、起動時間とメモリ使用量を大幅に削減します。このランタイムは、TypeScriptやJSXをネイティブにサポートしています。
1.2 コマンドラインツール
Bunのコマンドラインツールは、テストランナー、スクリプトランナー、Node.js互換のパッケージマネージャーを含んでいます。これにより、従来の開発に必要な多くのnode_modulesを必要とせず、Bun一つで開発を行うことが可能です。
1.3 主要コマンド
以下のコマンドを使用して、Bunを活用できます。
bun run index.tsx # TypeScriptおよびJSXを実行
bun test # テストを実行
bun run start # package.jsonのstartスクリプトを実行
bun install <pkg> # パッケージをインストール
bunx cowsay 'Hello, world!' # パッケージを実行
2. セットアップ手順
Bunは、Linux(x64およびarm64)、macOS(x64およびApple Silicon)、およびWindows(x64)で動作します。
2.1 システム要件
- Linuxユーザーは、カーネルバージョン5.6以上を推奨しますが、最低でも5.1が必要です。
- x64ユーザーは「不正な命令」や類似のエラーが発生した場合、CPU要件を確認してください。
2.2 インストール方法
Bunは、以下の方法でインストールできます。
macOS/Linuxの場合は、以下のコマンドを使用します(推奨方法):
curl -fsSL https://bun.sh/install | bash
特定のバージョンをインストールする場合は、次のようにします:
curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.17"
Windowsにおけるインストールは、以下のコマンドを使用します:
powershell -c "irm bun.sh/install.ps1 | iex"
npmでのインストールは、以下のコマンドを使用します:
npm install -g bun
Homebrewでのインストールは、以下のコマンドを使用します:
brew tap oven-sh/bun
brew install bun
Dockerを使用したインストールは、以下のコマンドで行います:
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun
2.3 アップグレード
最新バージョンへのアップグレードは、以下のコマンドで行います。
bun upgrade
カナリアビルドへのアップグレードは、以下のコマンドで実行できます。
bun upgrade --canary
3. 簡単な使い方
Bunの基本的な使い方について、いくつかの例を示します。
3.1 スクリプトの実行
TypeScriptやJSXファイルを実行するには、以下のコマンドを使用します。
bun run index.tsx
3.2 テストの実行
テストを実行するには、次のコマンドを使用します。
bun test
3.3 パッケージのインストール
必要なパッケージをインストールするには、以下のコマンドを使用します。
bun install <pkg>
3.4 スクリプトの実行
package.jsonに定義されたスクリプトを実行する場合は、以下のコマンドを使用します。
bun run start
3.5 簡単なHTTPサーバーの構築
Bunを使って簡単なHTTPサーバーを構築するには、まず新しいディレクトリを作成します。
mkdir quickstart
cd quickstart
次に、以下のコマンドでプロジェクトの雛形を生成します。
bun init
生成されたindex.ts
に以下のコードを追加します。
const server = Bun.serve({
port: 3000,
fetch(req) {
return new Response("Bun!");
},
});
console.log(`Listening on http://localhost:${server.port} ...`);
その後、以下のコマンドでサーバーを起動します。
bun index.ts
ブラウザでhttp://localhost:3000にアクセスすると、「Bun!」というレスポンスを確認できます。
結論
Bunは、JavaScriptおよびTypeScriptアプリケーションのための強力で高速なツールキットです。Node.jsの代替として機能し、開発者にとっての生産性を向上させる数多くの機能を提供します。Bunのセットアップは簡単で、コマンドラインからの操作も直感的です。これにより、開発環境をスムーズに構築し、効率的に作業を進めることができます。Bunを試して、次世代のアプリケーション開発を体験してみてください。