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 IC SDK 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
: The Motoko compiler to support Motoko canister development.
Other languages such as Rust are supported by installing a separate canister development kit (CDK).
replica
: A local instance of the software run by each node on the mainnet. It is used to deploy and host your application locally for testing and development.
For troubleshooting common dfx
errors, see IC SDK troubleshooting.