DocumentationLedger LiveAccountsBeginner's guidesBuild Ledger Live Desktop and mobile

Build and run Ledger Live from source

In this tutorial, you’ll learn how to build and run both Ledger Live Desktop and Mobile applications from source code. By the end of this tutorial, you’ll have both applications running locally.

What you’ll learn

  • How to set up the development environment for Ledger Live
  • How to build and run Ledger Live Desktop locally
  • How to build and run Ledger Live Mobile locally
  • How to verify your builds are working correctly

Prerequisites

Before starting this tutorial, make sure:

  • Your setup meets the requirements
  • For mobile development: You have Android Studio (for Android) or Xcode (for iOS) installed

Step 1: Clone the Ledger Live repository

First, let’s get the source code:

git clone https://github.com/LedgerHQ/ledger-live.git
cd ledger-live

Step 2: Install dependencies

Install the project dependencies using pnpm (the recommended package manager):

npm install -g pnpm
pnpm install

This may take several minutes as it downloads all required packages.

Step 3: Build Ledger Live Desktop

Now let’s build and run the desktop application:

3.1 Navigate to the desktop app directory

cd apps/ledger-live-desktop

3.2 Install desktop-specific dependencies

pnpm install

3.3 Build the desktop application

pnpm build

3.4 Start the desktop application

pnpm start

Expected result: The Ledger Live Desktop application should launch in a new window. You should see the Ledger Live interface with options to connect your Ledger device.

Step 4: Build Ledger Live Mobile

Next, let’s build and run the mobile application:

4.1 Navigate to the mobile app directory

# From the root ledger-live directory
cd apps/ledger-live-mobile

4.2 Install mobile-specific dependencies

pnpm install

4.3 Set up mobile development environment

For Android:

# Make sure Android SDK is installed and ANDROID_HOME is set
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

For iOS (macOS only):

# Install iOS dependencies
cd ios && pod install && cd ..

4.4 Start the Metro bundler

pnpm start

4.5 Run on your target platform

In a new terminal window, from the mobile app directory:

For Android:

pnpm android

For iOS (macOS only):

pnpm ios

Expected result: The Ledger Live Mobile application should launch in your device emulator or on a connected physical device. You should see the mobile version of the Ledger Live interface.

Step 5: Verify your builds

To confirm everything is working correctly:

Desktop verification

  1. The desktop app should open without errors
  2. You should be able to navigate through the interface
  3. Device connection prompts should appear when appropriate

Mobile verification

  1. The mobile app should launch in your emulator/device
  2. The interface should be responsive to touch
  3. Navigation between screens should work smoothly

Troubleshooting common issues

Build fails with dependency errors:

  • Try deleting node_modules and running pnpm install again
  • Ensure you’re using the correct Node.js version

Mobile app won’t start:

  • Verify your Android SDK or Xcode setup
  • Check that your emulator/device is properly connected
  • Try cleaning the build: pnpm clean

Desktop app crashes on startup:

  • Check the console for error messages
  • Ensure all system requirements are met
  • Try running in development mode for more detailed error logs

Next steps

Now that you have Ledger Live running locally, you can:

  • Explore the codebase to understand the architecture
  • Make modifications and see them reflected in real-time
  • Contribute to the project by following the contribution guidelines
  • Set up debugging tools for deeper development work

Additional resources

Ledger
Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Stax, Ledger Nano S, Ledger Vault, Bolos are trademarks owned by Ledger SAS