github-desktop/docs/contributing/setup-linux.md

67 lines
2.1 KiB
Markdown
Raw Normal View History

2018-11-21 14:43:43 +00:00
# Setting Up Development Dependencies on Linux
2018-11-22 15:28:55 +00:00
You will need to install these tools on your machine:
2018-11-21 14:43:43 +00:00
2019-04-18 14:28:21 +00:00
- Node.js
- Yarn
- Python 3
2018-11-22 15:28:55 +00:00
- Electron dependencies
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
## Node.js
2018-11-21 14:43:43 +00:00
2019-04-18 14:28:21 +00:00
The NodeJS project has instructions for installing across a variety of
2018-11-22 15:28:55 +00:00
distributions and package managers.
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
Find your distribution on [this list](https://nodejs.org/en/download/package-manager/)
and follow the instructions to install the version you require.
2018-11-21 14:43:43 +00:00
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](https://yarnpkg.com/en/docs/install) 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](./working-with-packages.md)
to help familiarize yourself with how to do the common package tasks that are
relevant to Desktop.
## Python 3
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
Refer to your distributions package manager to obtain the latest version of the
Python 3 series.
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
## Electron dependencies
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
There are some additional dependencies which are required as part of building
and running GitHub Desktop locally:
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
- `libsecret-1.so.0` for reading and writing credentials using [`keytar`](https://github.com/atom/node-keytar)
- `libXss.so.1` - the library for the X11 screen saver extension
- `libgconf-2-4.so.4` - library for accessing GNOME configuration database
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
Where to find these will vary based on your distribution, but below are some
examples of distributions we've tested.
2018-11-21 14:43:43 +00:00
2018-11-22 15:28:55 +00:00
### Fedora 26 and later
2018-11-21 14:43:43 +00:00
```shellsession
2018-11-22 15:28:55 +00:00
$ sudo dnf install -y libsecret-devel libXScrnSaver
2018-11-21 14:43:43 +00:00
```
2018-11-22 15:28:55 +00:00
### Ubuntu 14.04 and later
2018-11-21 14:43:43 +00:00
```shellsession
$ sudo apt install libsecret-1-dev libgconf-2-4
2018-11-21 14:43:43 +00:00
```
2019-04-18 14:28:21 +00:00
## Back to setup
Once you've installed the necessary dependencies, head back to the [setup page](https://github.com/desktop/desktop/blob/development/docs/contributing/setup.md) to finish getting set up.