vibe.d

Official vibe.d development

Github星跟蹤圖

vibe.d

vibe.d is a high-performance asynchronous I/O, concurrency and web application
toolkit written in D. It already contains many supplemental features such as
database support to be able to offer a complete development environment. For
more specialized needs, there are also many compatible
DUB packages
available.

Visit the website at https://vibed.org/ for more information and
documentation.

DUB Package
Posix Build Status
Windows Build Status

Hello Vibe.d

#!/usr/bin/env dub
/+ dub.sdl:
   name "hello_vibed"
   dependency "vibe-d" version="~>0.8.0"
+/
import vibe.vibe;

void main()
{
    listenHTTP("127.0.0.1:8080", (req, res) {
        res.writeBody("Hello Vibe.d: " ~ req.path);
    });

    runApplication();
}

Download this file as hello.d and run it with DUB:

> dub hello.d

(or chmod +x and execute it: ./hello.d)

Alternatively, you can quickstart with examples directly on Open on run.dlang.io.

Support

Vibe.d aims to support at least the 5 latest minor releases of D.
At the moment, the following compilers are supported and tested:

  • DMD 2.087.1
  • DMD 2.086.1
  • DMD 2.085.0
  • DMD 2.084.0
  • DMD 2.077.1
  • LDC 1.17.0 (FE: 2.087.1)
  • LDC 1.16.0 (FE: 2.086.1)
  • LDC 1.15.0 (FE: 2.085.1)
  • LDC 1.14.0 (FE: 2.084.1)
  • LDC 1.7.0 (FE: 2.077.1)

Up to 0.8.6:

  • DMD 2.076.1
  • LDC 1.6.0 (FE: 2.076.1)

Up to 0.8.4:

  • DMD 2.075.1
  • DMD 2.074.1
  • LDC 1.5.0 (FE: 2.075.1)
  • LDC 1.4.0 (FE: 2.074.1)

Up to 0.8.3:

  • DMD 2.073.2
  • LDC 1.3.0 (FE: 2.073.2)

Up to 0.8.2:

  • DMD 2.072.2
  • LDC 1.2.0 (FE: 2.072.2)

Up to 0.8.1:

  • DMD 2.071.2
  • LDC 1.1.1 (FE: 2.071.2)

Installation

Instead of explicitly installing vibe.d, it is recommended to use
DUB for building vibe.d based
applications. Once DUB is installed, you can create and run a new project
using the following shell commands:

dub init <name> -t vibe.d
cd <name>
dub

Similarly, you can run an example by invoking dub from any of the
example project directories.

Note that on non-Windows operating systems, you also need to have
libevent and OpenSSL installed - and of course a D compiler. See below
for instructions.

Additional setup on Windows

Note for building on Win64

There are currently no 64-bit Windows binaries of libevent included, so you'll either need to build those yourself, or you can switch to the "win32" event driver by inserting "subConfigurations": {"vibe-d": "win32"} into the dub.json file of your project.

Additional setup on Mac using brew

If you don't have brew installed, install it according to their install
instructions
and
install libevent.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install libevent

You can then also install DUB using brew:

brew install dub

(Note: Install brew only if you do not have macports, as they will conflict)

Install DMD using the installer on https://dlang.org/download.html.

Optionally, run ./setup-mac.sh to create a user/group pair for privilege lowering.

Additional setup on Linux (Debian/Ubuntu/Mint)

Install vibe.d's dependencies (*)

sudo apt-get install libevent-dev libssl-dev

On 32-bit linux: Install DMD-i386

sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.087.1/dmd_2.087.1-0_i386.deb"
sudo dpkg -i dmd_2.087.1-0_i386.deb

On 64-bit linux: Install DMD-amd64

sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.087.1/dmd_2.087.1-0_amd64.deb"
sudo dpkg -i dmd_2.087.1-0_amd64.deb

Optionally, run ./setup-linux.sh to create a user/group pair for privilege lowering.

(*) Note that Debian 6 (Squeeze) and older requires manual installation (see below).

Additional setup on Linux (generic)

You need to have the following dependencies installed:

If using the (now deprecated) "libevent" configuration, libevent is also required:

Optionally, run ./setup-linux.sh to create a user/group pair for privilege lowering.

(*) Note that some Linux distributions such as Debian Squeeze or CentOS 6 may only ship libevent 1.4, in this case you will have to manually compile the latest 2.0.x version:

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar -xf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install
ldconfig

Additional setup on FreeBSD

Install the DMD compiler and vibe.d's dependencies using portupgrade or a similar mechanism:

sudo portupgrade -PN devel/libevent2 devel/pkgconf

Optionally, run ./setup-freebsd.sh to create a user/group pair for privilege lowering.

Switching between OpenSSL versions

By default, vibe.d is built against OpenSSL 1.0.x. On systems that use the newer
1.1.x branch, this can be overridden on the DUB command line using
--override-config vibe-d:tls/openssl-1.1. Alternatively, the same can be done
using a sub configuration directive in the package recipe:

SDL syntax:

dependency "vibe-d:tls" version="~>0.8.2"
subConfiguration "vibe-d:tls" "openssl-1.1"

JSON syntax:

{
    ...
    "dependencies": {
        ...
        "vibe-d:tls": "*"
    },
    "subConfigurations": {
        ...
        "vibe-d:tls": "openssl-1.1"
    }
}

For older systems there is also an "openssl-0.9" configuration that can be
used in analogy to the above to build against the OpenSSL 0.9.8 branch.

Finally, there is a "botan" configuration for using the D port of the Botan
library.

主要指標

概覽
名稱與所有者vibe-d/vibe.d
主編程語言D
編程語言D (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2012-04-20 07:10:11
推送於2025-08-04 21:29:26
最后一次提交2025-08-04 21:29:25
發布數238
最新版本名稱v0.10.2 (發布於 2025-02-14 22:13:23)
第一版名稱v0.7.0 (發布於 2012-05-07 00:04:22)
用户参与
星數1.2k
關注者數55
派生數279
提交數6.6k
已啟用問題?
問題數1360
打開的問題數404
拉請求數1184
打開的拉請求數37
關閉的拉請求數244
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?