Install tools
Overview
The IC SDK is a software development kit used to develop and deploy applications on the Internet Computer (ICP) from a local developer environment. It is comprised of several tools.
Installing the IC SDK
The IC SDK is natively supported on Linux or macOS 12.* Monterey and newer. Windows users should install Windows Subsystem for Linux (WSL 2).
If you followed the quick start guide, you can skip this step.
- Linux
- macOS
- Windows
Prerequisites
Open a terminal window. Download and install Node.js.1. Install the IC SDK.
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
To customize your IC SDK installation, you can use the interactive installation prompt or set environment variables for a terminal session.
Confirm the IC SDK has been installed (you may need to open a new terminal window):
dfx --version
Prerequisites
Open a terminal window. Download and install Node.js. Using HomeBrew is recommended. Apple silicon machines: Download and install Rosetta:softwareupdate --install-rosetta
1. Install the IC SDK.
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
To customize your IC SDK installation, you can use the interactive installation prompt or set environment variables for a terminal session.
Confirm the IC SDK has been installed (you may need to open a new terminal window):
dfx --version
Prerequisites
Download and install Windows Subsystem for Linux. Open a WSL terminal window. Download and install a Linux distribution (i.e., Ubuntu) using Windows Subsystem for Linux:wsl --install -d ubuntu
Open the WSL Linux environment. Run all following commands within this environment. Download and install Node.js within your WSL Linux environment.1. Install the IC SDK.
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
To customize your IC SDK installation, you can use the interactive installation prompt or set environment variables for a terminal session.
Confirm the IC SDK has been installed (you may need to open a new terminal window):
dfx --version
The IC SDK is comprised of:
dfx
: A CLI tool used to create and manage projects, developer identities, and cycles.dfxvm
: A version manager fordfx
. It is used to download a specific version ofdfx
, set a default version, and update to the latest version.moc
: The Motoko compiler to support Motoko canister development.replica
: A local instance of the software run by each node on the ICP mainnet. It is used to deploy and host your application locally for testing and development.
It also has dependencies of a few additional, important packages:
Rust CDK: A set of tools for developing Rust canisters.
Candid: An interface description language (IDL) used to interact with a canister's methods. A method is a function exposed by the canister that can be called by a user, another canister, or the application's frontend.
For troubleshooting common dfx
errors, see IC SDK troubleshooting.
Next step
Next, you must create a developer identity. This identity will be used to control and manage your project's canisters.