node-gyp officially requires Python 3
2.1 KiB
Setting Up Development Dependencies on Linux
You will need to install these tools on your machine:
- Node.js
- Yarn
- Python 3
- Electron dependencies
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 usingkeytar
libXss.so.1
- the library for the X11 screen saver extensionlibgconf-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 libsecret-1-dev libgconf-2-4
Back to setup
Once you've installed the necessary dependencies, head back to the setup page to finish getting set up.