search
HomeSystem TutorialLINUXBun: The Fastest All-in-One JavaScript Runtime for Linux

Bun is a modern JavaScript runtime designed to simplify and accelerate the development of JavaScript and TypeScript applications. Unlike traditional runtimes, Bun combines multiple tools into a single, cohesive package, including a bundler, test runner, and a Node.js – compatible package manager.

Key Features of Bun:

  • High Performance: Bun is built with speed in mind. By extending JavaScriptCore – the engine that powers Safari, which ensures fast startup times and efficient execution of your applications.
  • Comprehensive Toolkit: With Bun, you get an all-in-one solution that includes a bundler for packaging your code, a test runner for ensuring code reliability, and a package manager compatible with Node.js, streamlining your development workflow.
  • Node.js Compatibility: Bun aims to be a drop-in replacement for Node.js, implementing Node’s module resolution algorithm and supporting built-in modules like fs and path.
  • First-Class TypeScript and JSX Support: Bun allows you to execute .ts and .tsx files directly, respecting your tsconfig.json settings. It also transpiles JSX syntax to JavaScript internally, with React as the default but supporting custom JSX transforms.

Installing Bun on Linux

The unzip package is required to install Bun, so use your distribution’s package manager to install it as shown.

sudo apt install unzip         [On <strong>Debian, Ubuntu and Mint</strong>]
sudo dnf install unzip         [On <strong>RHEL/CentOS/Fedora</strong> and <strong>Rocky/AlmaLinux</strong>]
sudo emerge -a sys-apps/unzip  [On <strong>Gentoo Linux</strong>]
sudo apk add unzip             [On <strong>Alpine Linux</strong>]
sudo pacman -S unzip           [On <strong>Arch Linux</strong>]
sudo zypper install unzip      [On <strong>OpenSUSE</strong>]    
sudo pkg install unzip         [On FreeBSD]

Next, use the curl command to download and execute Bun’s installation script, which will download the Bun binary and place it in your system’s PATH, making the bun command available globally.

curl -fsSL https://bun.sh/install | bash

Bun: The Fastest All-in-One JavaScript Runtime for Linux

Getting Started with Bun in Linux

After installing Bun, you can quickly set up a new project directory and start building applications.

mkdir my-bun-app
cd my-bun-app

Next, initialize the project with Bun, which will prompt you with several questions to set up your project. You can press enter to accept the default answers. Bun will generate essential files like package.json, index.ts, .gitignore, and tsconfig.json.

bun init

Bun: The Fastest All-in-One JavaScript Runtime for Linux

Create an HTTP Server

Open the index.ts file and add the following code to create a simple HTTP server:

const server = Bun.serve({
  port: 3000,
  fetch(request) {
    return new Response("Welcome to Bun!");
  },
});

console.log(`Listening on http://localhost:${server.port}`);

Now run the server with:

bun run index.ts

You should see the message Listening on http://localhost:3000.

Bun: The Fastest All-in-One JavaScript Runtime for Linux

Open your browser and navigate to http://localhost:3000 to view the response from your server.

Bun: The Fastest All-in-One JavaScript Runtime for Linux

Managing Packages with Bun

To add a new package to your project, use the following command, which will install the specified package and update your package.json accordingly. Bun manages dependencies in the node_modules directory, similar to other package managers, ensuring compatibility with existing Node.js projects.

bun add figlet

Update index.ts to use figlet in the fetch handler.

import figlet from "figlet";

const server = Bun.serve({
  port: 3000,
  fetch(request) {
    const message = figlet.textSync("Welcome to Bun!", {
      horizontalLayout: "default",
      verticalLayout: "default",
    });
    return new Response(message, {
      headers: { "Content-Type": "text/plain" },
    });
  },
});

console.log(`Listening on http://localhost:${server.port}`);

Restart the server and refresh the page to see a new ASCII art banner.

Bun: The Fastest All-in-One JavaScript Runtime for Linux

If you need to remove Bun from your system, use the following command.

rm -rf ~/.bun
Conclusion

Bun is a powerful and efficient JavaScript runtime that simplifies the development process by integrating multiple tools into a single platform.

Its high performance, Node.js compatibility, and first-class support for TypeScript and JSX make it an ideal choice for developers looking for a modern, streamlined development experience.

The above is the detailed content of Bun: The Fastest All-in-One JavaScript Runtime for Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How does logging and auditing differ between Linux and Windows?How does logging and auditing differ between Linux and Windows?May 08, 2025 am 12:03 AM

Linuxoffersmoregranularcontroloverloggingandauditing,whileWindowsprovidesamorecentralizedsystem.1)Linuxusestoolslikesyslog,rsyslog,andjournaldforcustomizablelogging.2)WindowsusestheEventViewerforcentralizedlogmanagement.3)Linuxisidealforenvironmentsn

What is AI? A Beginner's Guide for Linux UsersWhat is AI? A Beginner's Guide for Linux UsersMay 07, 2025 am 11:23 AM

Artificial Intelligence (AI) is a term that’s been buzzing around for a while now, from self-driving cars to voice assistants like Siri and Alexa, AI is becoming a part of our everyday lives. But what exactly is AI, and why should Linux users care ab

50 Essential Linux Commands for Beginners and SysAdmins50 Essential Linux Commands for Beginners and SysAdminsMay 07, 2025 am 11:12 AM

For someone new to Linux, using it can still feel challenging, even with user-friendly distributions like Ubuntu and Mint. While these distributions simplify many tasks, some manual configuration is often required, but fully harnessing the power of L

How to Set Up Your Linux System for AI DevelopmentHow to Set Up Your Linux System for AI DevelopmentMay 07, 2025 am 10:55 AM

In the previous article, we introduced the basics of AI and how it fits into the world of Linux. Now, it’s time to dive deeper and set up your Linux system to start building your first AI model. Whether you’re a complete beginner or have some exper

How to Install Kloxo Web Hosting Control Panel in LinuxHow to Install Kloxo Web Hosting Control Panel in LinuxMay 07, 2025 am 10:52 AM

If you’re looking to manage your server with ease, Kloxo is a great option, as it is free and open-source web hosting control panel that allows you to manage your server and websites with a simple, user-friendly interface. In this guide, we’ll walk

How to Move Files and Folders with Spaces in LinuxHow to Move Files and Folders with Spaces in LinuxMay 07, 2025 am 10:17 AM

If you’ve ever found yourself in a situation where you’re trying to move a bunch of files and folders, only to be stumped by spaces in the folder names, you’re not alone. Spaces in filenames or folder names can quickly become a frustrat

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.