Install the IC SDK
The IC SDK is a software development kit used to develop applications on your local machine and to deploy them to ICP. It is natively supported on Linux or macOS 12.* Monterey and newer. Windows users can use the IC SDK with Windows Subsystem for Linux (WSL 2).
If you followed a quick start guide, you can skip this step.
- Linux
- macOS
- Windows
Prerequisites
Open a terminal window. Download and install Node.js.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
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
dfx
is not natively supported on Windows. You will need to install a Linux instance via Windows Subsystem for Linux and run all commands within that Linux instance.
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. View the [WSL troubleshooting](/docs/building-apps/getting-started/wsl-troubleshoot) guide if necessary.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 latest version of the IC SDK (v0.26.0) is comprised of:
dfx
: A CLI tool used to create and manage projects, developer identities, and cycles.dfxvm
: A version manager fordfx
used to download a specific version ofdfx
, set a default version, and update to the latest version.moc
(v0.14.4): The Motoko compiler to support Motoko canister development.
Other languages such as Rust are supported by installing a separate canister development kit (CDK).
- PocketIC: A local testing suite that can be used to simulate mainnet behavior for deterministic canister testing.
For troubleshooting common dfx
errors, see IC SDK troubleshooting.