Bug 2457184 - nodejs-esbuild: fails to install from EPEL 9
Summary: nodejs-esbuild: fails to install from EPEL 9
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: golang-github-evanw-esbuild
Version: epel9
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: W. Michael Petullo
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-04-09 23:42 UTC by Carl George 🤠
Modified: 2026-06-19 01:07 UTC (History)
3 users (show)

Fixed In Version: golang-github-evanw-esbuild-0.27.2-2.el9
Clone Of:
Environment:
Last Closed: 2026-06-19 00:48:33 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Carl George 🤠 2026-04-09 23:42:16 UTC
Description of problem:
nodejs-esbuild from EPEL 9 has one or more unresolved dependencies, causing it to be uninstallable.


Version-Release number of selected component (if applicable):
nodejs-esbuild-0.27.2-1.el9


How reproducible:
always


Steps to Reproduce:
1. dnf install nodejs-esbuild


Actual results:
Error: 
 Problem: package nodejs-esbuild-0.27.2-1.el9.x86_64 from epel requires nodejs(engine) >= 18, but none of the providers can be installed
  - conflicting requests
  - package nodejs-1:18.10.0-3.module+el9.1.0+16866+0fab0697.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.12.1-1.module+el9.1.0.z+17326+318294bb.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.14.2-2.module+el9.2.0.z+18497+a402347c.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.14.2-3.module+el9.2.0.z+18964+42696395.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.16.1-1.module+el9.2.0.z+19424+78951f07.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.16.1-2.module+el9.2.0.z+19546+89a27685.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.8.1-1.module+el9.3.0.z+20478+84a9f781.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.18.2-2.module+el9.2.0.z+20408+7cb5fda5.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.17.1-1.module+el9.2.0.z+19753+58118bc0.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.9.0-1.module+el9.3.0.z+20633+3a660725.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.19.0-1.module+el9.3.0+21155+b47e208c.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.11.0-1.module+el9.3.0+21188+8b938bcb.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.19.1-1.module+el9.3.0+21388+22892fb9.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.11.1-1.module+el9.3.0+21385+bac43d5a.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.20.2-2.module+el9.4.0+21742+692df1ea.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.12.2-2.module+el9.4.0+21731+46b5b8a7.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.14.0-1.module+el9.4.0+22015+c05247b8.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.20.4-1.module+el9.4.0+22195+c221878e.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.16.0-1.module+el9.4.0+22197+9e60f127.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.4.1-4.module+el9.5.0+22219+bffecb2b.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.11.0-1.module+el9.5.0+22488+08122204.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.17.0-1.module+el9.5.0+22333+c97d1c99.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.18.2-2.module+el9.5.0+22906+d1a288c7.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.20.6-1.module+el9.5.0+22773+9a359385.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.13.1-1.module+el9.5.0+22763+17233acb.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.18.2-1.module+el9.5.0+22758+4ad2c198.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.13.1-2.module+el9.5.0+22902+21169374.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.20.6-2.module+el9.5.0+22907+151b9f14.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.19.1-1.module+el9.6.0+23053+4195b0b2.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.16.0-1.module+el9.6.0+23151+b1496e9d.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.19.2-1.module+el9.6.0+23146+be9976bd.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:18.20.8-1.module+el9.6.0+23094+56b98c98.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.15.0-1.module+el9.6.0+23062+9e7801b9.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.16.0-2.module+el9.6.0+23339+d3c8acfa.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.19.0-2.module+el9.6.0+23473+45664c2d.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.19.5-1.module+el9.6.0+23523+a4f53f09.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.19.0-2.module+el9.7.0+23475+0a960596.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:24.11.1-2.module+el9.7.0+23729+aedb7b14.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:24.4.1-6.module+el9.7.0+23440+3a3625b1.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.19.5-1.module+el9.7.0+23586+8784698a.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:24.4.1-7.module+el9.7.0+23553+c342060b.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.22.0-1.module+el9.7.0+23896+b5802de9.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:20.20.0-1.module+el9.7.0+23895+0637d423.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:24.13.0-1.module+el9.7.0+23894+c8377628.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering
  - package nodejs-1:22.22.2-1.module+el9.7.0+24157+8ddb2461.x86_64 from rhel-9-for-x86_64-appstream-rpms is filtered out by modular filtering


Expected results:
successful installation

Comment 1 Carl George 🤠 2026-06-06 00:39:58 UTC
I looked into this a bit, and the dependency seems to be generated from this part of the source code.

https://github.com/evanw/esbuild/blob/v0.27.2/npm/esbuild/package.json#L15

EPEL packages can only require default packages, not alternate module streams.  RHEL 9 defaults to nodejs 16.  The last version of esbuild that worked with nodejs 16 was 0.21.5.

https://github.com/evanw/esbuild/blob/v0.21.5/npm/esbuild/package.json#L15

As far as I can tell, there are two options here.

* Downgrade golang-github-evanw-esbuild to version 0.21.5 for compatibility with nodejs 16.
* Remove the nodejs-esbuild subpackage from the epel9 spec file (either by deleting it or wrapping it in a disabled conditional).

Which one sounds better to you Mike?

Comment 2 W. Michael Petullo 2026-06-07 17:50:51 UTC
Carl, have to investigated which EPEL packages depend on golang-github-evanw-esbuild? I originally created an epel9 branch of the golang-github-evanw-esbuild package in response to this bug: https://bugzilla.redhat.com/show_bug.cgi?id=2457184. I don't know if they ever followed up to create the Chromium package the bug mentions. I usually deal with EPEL only when prompted.

I am not a nodejs user, so I cannot judge the implication of removing the nodejs-esbuild subpackage. My instinct is that should be the way forward. I would think that downgrading a package would be frowned upon.

Comment 3 Carl George 🤠 2026-06-08 18:06:47 UTC
You linked to this bug (the one we're commenting in) but I think you meant to link to bug 2361107 where the chromium maintainer requested an EPEL 9 build.  Chromium was added to EPEL 9 and is regularly updated.

The only package I can find that depends on golang-github-evanw-esbuild is chromium, as a build requirement.  If you did want to go the downgrade route in order to keep nodejs-esbuild, then you could try to downgrade it in a copr repo and then rebuild chromium in the same copr.  You're right that downgrading should generally be avoided, but in this case I would say it's justified for the nodejs compatibility.

Nothing requires or build requires nodejs-esbuild, so in theory it should be safe to remove.  At the very least it can't hurt anything, because functionally an uninstallable package is no different than a non-existent one.  I agree with your instinct that this is a better way forward.  Here's a pull request to implement that with a conditional.

https://src.fedoraproject.org/rpms/golang-github-evanw-esbuild/pull-request/18

Comment 4 Fedora Update System 2026-06-09 22:27:00 UTC
FEDORA-EPEL-2026-5d3e152c80 (golang-github-evanw-esbuild-0.27.2-2.el9) has been submitted as an update to Fedora EPEL 9.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2026-5d3e152c80

Comment 5 Fedora Update System 2026-06-10 01:35:33 UTC
FEDORA-EPEL-2026-5d3e152c80 has been pushed to the Fedora EPEL 9 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2026-5d3e152c80

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2026-06-19 00:48:33 UTC
FEDORA-EPEL-2026-5d3e152c80 (golang-github-evanw-esbuild-0.27.2-2.el9) has been pushed to the Fedora EPEL 9 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.