mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-23 16:13:37 +00:00
85 lines
2.2 KiB
Markdown
85 lines
2.2 KiB
Markdown
# Development setup
|
|
|
|
This is a guide to running the Zulip desktop app from a source tree,
|
|
in order to contribute to developing it.
|
|
|
|
## Prerequisites
|
|
|
|
To build and run the app from source, you'll need the following:
|
|
|
|
* [Git](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
|
* [Node.js](https://nodejs.org) >= v6.9.0
|
|
* [NPM](https://www.npmjs.com/get-npm) and
|
|
[node-gyp](https://github.com/nodejs/node-gyp#installation),
|
|
if they don't come bundled with your Node.js installation
|
|
* [Python](https://www.python.org/downloads/release/python-2713/)
|
|
(v2.7.x recommended)
|
|
* A C++ compiler compatible with C++11
|
|
* Development headers for the libXext, libXtst, and libxkbfile libraries
|
|
|
|
### Debian/Ubuntu and friends
|
|
|
|
On a system running Debian, Ubuntu, or another Debian-based Linux
|
|
distribution, you can install all dependencies through the package
|
|
manager (see [here][nodesource-install] for more on the first command):
|
|
|
|
```sh
|
|
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
|
|
$ sudo apt install git nodejs python build-essential libxext-dev libxtst-dev libxkbfile-dev
|
|
```
|
|
|
|
[nodesource-install]: https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
|
|
|
|
### Other OSes
|
|
|
|
Other developers run the app on Windows, macOS, and possibly other OSes.
|
|
PRs to add specific instructions to this doc are welcome!
|
|
|
|
On Windows, your C++ compiler should be Visual Studio 2015 or later.
|
|
|
|
## Download, build, and run
|
|
|
|
Clone the source locally:
|
|
```sh
|
|
$ git clone https://github.com/zulip/zulip-electron
|
|
$ cd zulip-electron
|
|
```
|
|
|
|
Install project dependencies:
|
|
```sh
|
|
$ npm install
|
|
```
|
|
|
|
Start the app:
|
|
```sh
|
|
$ npm start
|
|
```
|
|
|
|
Start and watch changes:
|
|
```sh
|
|
$ npm run dev
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
If you have any problems running the app, see the [most common
|
|
issues](./troubleshooting.md).
|
|
|
|
## Making a release
|
|
|
|
To package the app into an installer:
|
|
```
|
|
npm run dist
|
|
```
|
|
|
|
This command will produce distributable packages or installers for the
|
|
operating system you're running on:
|
|
* on Windows, a Windows installer file
|
|
* on macOS, a `.dmg` file
|
|
* on Linux, a plain `.zip` file as well as a `.deb` file and an
|
|
`AppImage` file.
|
|
To generate all three types, you will need all three operating
|
|
systems.
|
|
|
|
The output files appear in the `dist/` directory.
|