Set up your development environment for building, running, and testing the Mattermost Desktop App.
Install Homebrew: http://brew.sh
Open Terminal
Install dependencies
brew install node@16 git python3
Add NodeJS to PATH:
echo 'export PATH="/usr/local/opt/node@16/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
For machines using the M1 architecture:
Use the latest NodeJS@16 (>=v16.16)
Update Xcode to latest version (>=v13.4.1)
Open Terminal
Install NodeJS from NodeSource:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
You might need to install curl
as well:
sudo apt install curl
Install other dependencies:
Linux requires the X11 developement libraries and libpng
to build native Node modules.
sudo apt install git python3 g++ libx11-dev libxtst-dev libpng-dev
To build RPMs, you need rpmbuild
:
sudo apt install rpm
Install Chocolatey: https://chocolatey.org/install
Install Visual Studio Community: https://visualstudio.microsoft.com/vs/community/
Open PowerShell
Install dependencies
choco install nodejs-lts git python3
Restart PowerShell (to refresh the environment variables)
NOTE: We don’t officially support Arch Linux for use with the Mattermost Desktop App. The provided guide is unofficial.
Open Terminal
Install dependencies:
Linux requires the X11 developement libraries and libpng
to build native Node modules.
Arch requires libffi
since it’s not installed by default.
sudo pacman -S install nodejs npm git python3 gcc make libx11 libxtst libpng libffi
To build RPMs, you need rpmbuild
sudo pacman -S install rpm
NOTE: We don’t officially support Fedora/Red Hat/CentOS Linux for use with the Mattermost Desktop App. The provided guide is unofficial.
Open Terminal
Install dependencies:
Linux requires the X11 developement libraries and libpng
to build native Node modules.
sudo apt install nodejs git python3 g++ libX11-devel libXtst-devel libpng-devel`
To build RPMs, you need rpmbuild
:
sudo dnf install rpm-build
To develop with the Desktop App, we recommend that you set up a Mattermost server specifically for this purpose. This lets you customize it as needed in cases where there are specific integration requirements needed for testing.
You can find information on setting that up here:
Alternatively, for some changes you may be able to test using an existing Mattermost instance, or one that has been deployed on platforms like Docker, Linux, Kubernetes, Heroku, or others. Please refer to the Mattermost Deployment Guide for more info.
Fork GitHub Repository: https://github.com/mattermost/desktop
Clone from your repo:
git clone https://github.com/<YOUR_GITHUB_USERNAME>/desktop.git
Open the desktop directory
cd desktop
Install Node Modules
npm i
Run the application
npm run watch