How to Install ERPNext v16 on Fedora 43/42
By Hisham Al Nahas ยท Published on January 24, 2026
System Architecture Requirements
Python 3.14
The backbone of Frappe v16. Default in F43, manual in F42.
Node.js 24
Required for the modern build pipeline and asset compilation.
MariaDB 11.8
The database engine optimized for Frappe's schema management.
Step 1: Install Core Dependencies
We need to ensure the system has the specific headers and build tools for mysqlclient and frappe-bench.
sudo dnf install python3.14 pip mariadb11.8 mariadb11.8-server wkhtmltopdf redis redis-server node uv python3.14-devel mariadb-devel gcc uv git makesudo dnf install nodejs24
Pro Tip: Fedora 43 users can skip the manual Python installation as it's the system default. For Fedora 42, ensure you include the
python3.14 package explicitly.
Step 2: Database & Valkey Setup
Enable and start the services to ensure they survive a reboot.
sudo systemctl enable --now valkey
sudo systemctl enable --now mariadb
sudo mariadb-secure-installation
Step 3: Fedora-Specific Version Control
This is where the configuration diverges. If you are on Fedora 42, you must redirect the global python commands. Fedora 43 users should skip the symlinking commands below.
Only perform these
ln -s steps if python3 --version does not show 3.14.
# Fedora 42 Only
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.14 /usr/bin/python
sudo rm /usr/bin/python3
sudo ln -s /usr/bin/python /usr/bin/python3
# For both if node -v is not 24
sudo rm /usr/bin/node
sudo ln -s /usr/bin/node-24 /usr/bin/node
Step 4: Bench Initialization
Install the bench utility using uv for faster performance and isolated tool management.
uv python install 3.14 --default
uv tool install frappe-bench
mkdir ~/frappe && cd ~/frappe
bench init frappe-bench --frappe-branch version-16
Step 5: App Installation
Now, pull the specific v16 apps and install them to your site.
bench get-app hrms --branch version-16
bench install-app hrms
bench migrate