Building from source
Below are instructions on how to build Deno from source. If you just want to use
Deno you can download a prebuilt executable (more information in the
Getting Started chapter).
Cloning the Repository
Clone on Linux or Mac:
git clone --recurse-submodules https://github.com/denoland/deno.git
Extra steps for Windows users:
- Enable "Developer Mode" (otherwise symlinks would require administrator privileges).
- Make sure you are using git version 2.19.2.windows.1 or newer.
core.symlinks=truebefore the checkout:
git config --global core.symlinks true git clone --recurse-submodules https://github.com/denoland/deno.git
Deno requires the progressively latest stable release of Rust. Deno does not support the Rust nightlies.
Update or Install Rust. Check that Rust installed/updated correctly:
rustc -V cargo -V
The easiest way to build Deno is by using a precompiled version of V8:
cargo build -vv
However if you want to build Deno and V8 from source code:
V8_FROM_SOURCE=1 cargo build -vv
When building V8 from source, there are more dependencies:
Python 3 for running WPT tests. Ensure that
python.exe exists in your
PATH and it refers to
For Linux users glib-2.0 development files must also be installed. (On Ubuntu,
apt install libglib2.0-dev.)
Mac users must have Command Line Tools installed.
(XCode already includes CLT. Run
xcode-select --install to install it without XCode.)
For Windows users:
Get VS Community 2019 with "Desktop development with C++" toolkit and make sure to select the following required tools listed below along with all C++ tools.
- Visual C++ tools for CMake
- Windows 10 SDK (10.0.17763.0)
- Testing tools core features - Build Tools
- Visual C++ ATL for x86 and x64
- Visual C++ MFC for x86 and x64
- C++/CLI support
- VC++ 2015.3 v14.00 (v140) toolset for desktop
Enable "Debugging Tools for Windows". Go to "Control Panel" → "Programs" → "Programs and Features" → Select "Windows Software Development Kit - Windows 10" → "Change" → "Change" → Check "Debugging Tools For Windows" → "Change" → "Finish". Or use: Debugging Tools for Windows (Notice: it will download the files, you should install
X64 Debuggers And Tools-x64_en-us.msifile manually.)
See rusty_v8's README for more details about the V8 build.
Build with Cargo:
# Build: cargo build -vv # Build errors? Ensure you have latest main and try building again, or if that doesn't work try: cargo clean && cargo build -vv # Run: ./target/debug/deno run cli/tests/002_hello.ts