Setting Up Your Environment

There are multiple methods to set up a Frappe development environment. The best approach depends on your operating system, technical comfort level, and project requirements. This guide will help you compare the available options and choose the one that’s right for you.

Comparison of Installation Methods

To help you decide, here is a summary of the three primary installation methods:

MethodPrerequisitesBest ForKey AdvantagesConsiderations
CodespacesA GitHub AccountBeginners, Windows users, quick prototypesNo local setup required; pre-configured and ready to use; avoids OS-specific issues (like WSL on Windows).Dependent on internet connectivity; potential for ongoing costs.
Traditional InstallationPython, Node.js, Yarn, MariaDB, Redis, Git & command-line tools (and WSL for Windows users)Developers on macOS/LinuxOfficially maintained by Frappe; provides direct control over your environment; well-documented.Not directly supported on Windows without WSL; requires manual installation of dependencies.
Frappe ManagerPython 3.11 or higher, Docker & Docker Compose (and WSL2 for Windows users)Users preferring DockerSimplifies management of multiple Frappe versions and sites; containerization avoids dependency conflicts.Community-managed (not official); adds Docker as another layer to learn and manage.

Recommendations

Based on the comparison above, here is our recommended path for different users:

  • For Windows users or those new to programming: We strongly recommend starting with Codespaces. It provides a fully functional Frappe environment in the cloud, allowing you to bypass the complexities of setting up the Windows Subsystem for Linux (WSL) and managing local dependencies. This is the fastest way to get started.

  • For macOS or Linux users:

    • The Traditional Installation is the official, battle-tested method. If you want a stable, well-supported local environment and are comfortable with the command line, this is the safest rshot here showing the successful output of the fm –version command in your termioute.
    • If you prefer a containerized setup to manage multiple projects or isolate dependencies, Frappe Manager is an excellent choice. Be aware that it is a community project and requires a basic understanding of Docker.

Ready to Install?

Once you have chosen your preferred method, follow the detailed guide below.

Last updated on