Building on Linux
Last updated
Was this helpful?
Last updated
Was this helpful?
Notes:
The following steps are verified on
You may need to disable hardware 3D acceleration if you are running AppFlowy in a VM. Otherwise, certain GL failures will prevent the app from launching.
This guide assumes that you are using the bash shell on Linux. You can however, replicate these steps on zsh or other alternative Linux terminal shells, with minor alterations.
If you encounter any issues, have a look at first. If your issue is not included in the page, please create an or ask on .
Attention: There is an issue affecting Ubuntu 22.04, Fedora 37, and PopOS 22.04:
Failed to load dynamic library 'libdart_ffi.so': libssl.so.1.1: cannot open shared object file: No such file or directory. The issue can be fixed by installing the required missing libraries:
For Fedora Workstation:
For Fedora Silverblue:
For Silverblue, it is necessary to perform both the upgrade and the installation.
For Ubuntu & PopOS:
Download the required package by executing the following command:
Install the downloaded package using the following command:
If the provided link for Ubuntu & PopOS is expired or returns an error 404, you can search for "libssl1.1_1.1.1" on the .
Clone the source code from our Github project.
Ensure that git is installed in your system!! Use your package manager to install git if your distribution doesn't ship with git.
Flutter version 3.27.4 is the recent supported stable release used for building AppFlowy. Building with the latest stable Flutter release is not tested and might throw errors while building.
Method 2: You can use the code below to install flutter manually on your linux system.
Clone asdf.
Add the path to asdf and enable asdf auto-completion in your shell.
Install flutter via asdf and set it as your local runtime at the AppFlowy source directory (xx/AppFlowy/
).
Some distributions might miss certain packages essential for asdf, such as jq
, curl
, or wget
. Please make sure they are installed via your package manager.
👉 Ubuntu 22.04 does not come with the package jq
installed by default, you will have to install by doing:
Run the setup script from the base directory. (Note: You can skip this step if you installed rust using asdf and set it as the local runtime inside thexx/AppFlowy/
source.)
If you get this warning:
Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path. You can fix that by adding this to your shell's config file (.bashrc, .bash_profile, etc.):
export PATH="$PATH":"$HOME/.pub-cache/bin"
Then run the following command to add the path inside your shell configuration dotfile (.bashrc
, .zshrc
, etc.). For bash users:
OR, alternatively run this in your shell every time you build AppFlowy:
Change your path to the frontend
directory.
You will find the binary in frontend/appflowy_flutter/product/[version in x.x.x]/linux/[Binary type (Release/ Debug)]/AppFlowy/
.
A new window as shown below will show up after you run the application:
If using a virtual machine, run the Linux GUI application through x11 on windows (use MobaXterm) for instance:
export DISPLAY=localhost:10
Do not use the flatpak distribution of VS Code! ****The flatpak VS Code is sandboxed and uses an isolated shell environment, and cannot access any binaries or libraries installed in your system, including your default system shell.
Open the frontend
folder located at xx/AppFlowy/
with VS Code.
Go to the Run and Debug tab and then click AF-desktop: Clean + Rebuild All for the first time running.
You should fork the code instead if you wish to submit code to AppFlowy. You will find information on that in .
Method 1: Install flutter according to . Make sure to install flutter in a directory that is appropriate for you.
Method 3: You can also use a runtime version manager like or a flutter-specific version manager to install flutter on your system. Assuming you are using the bash shell, follow these steps:
If you are not using bash, check the official to learn how to set up asdf for your shell.
xx/AppFlowy/frontend/scripts/install_dev_env/
."Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path."