Skip to content

Latest commit

 

History

History
98 lines (68 loc) · 3.12 KB

File metadata and controls

98 lines (68 loc) · 3.12 KB

Setting Up Development Dependencies on Linux

You will need to install these tools on your machine:

  • Node.js
  • Yarn
  • Python 3
  • Electron dependencies
  • Git Credential Manager

Node.js

The NodeJS project has instructions for installing across a variety of distributions and package managers.

Find your distribution on this list and follow the instructions to install the version you require.

Ensure that you also choose the option for building native Node modules, as those are used in some dependencies used in GitHub Desktop.

Yarn

Follow this guide to install a system-level yarn for your distribution. GitHub Desktop uses a local version of yarn, but it needs a version on your PATH to bootstrap itself.

This is important because yarn uses lock files to pin dependencies. If you find yourself changing packages, this will prevent mismatches in versions between machines.

If you're not familiar with yarn, please read this document to help familiarize yourself with how to do the common package tasks that are relevant to Desktop.

Python 3

Refer to your distributions package manager to obtain the latest version of the Python 3 series.

Electron dependencies

There are some additional dependencies which are required as part of building and running GitHub Desktop locally:

  • libsecret-1.so.0 for reading and writing credentials using keytar
  • libXss.so.1 - the library for the X11 screen saver extension
  • libgconf-2-4.so.4 - library for accessing GNOME configuration database

Where to find these will vary based on your distribution, but below are some examples of distributions we've tested.

Fedora 26 and later

$ sudo dnf install -y libsecret-devel libXScrnSaver

Ubuntu 14.04 and later

$ sudo apt install build-essential libsecret-1-dev

Git Credential Manager

Linux builds do not provide GitHub Desktop account sign-in. All HTTPS Git authentication, including GitHub.com and GitHub Enterprise, is delegated to Git Credential Manager (GCM). Follow the official Linux installation instructions and make sure git-credential-manager is available on PATH.

GCM also requires a credential store on Linux. For a GNOME/Ubuntu desktop, Secret Service is the usual choice:

$ git-credential-manager configure
$ git config --global credential.credentialStore secretservice

After yarn build:prod, yarn package creates both a portable archive and a Debian package:

dist/GitHubDesktop-linux-<architecture>.tar.gz
dist/GitHubDesktop-linux-<architecture>.deb

Install and launch the Debian package with:

$ sudo apt install ./dist/GitHubDesktop-linux-x64.deb
$ github-desktop

Back to setup

Once you've installed the necessary dependencies, head back to the setup page to finish getting set up.