Fedora Account System
Red Hat Associate
Red Hat Customer
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
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?
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.
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
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
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.
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.