EL 8 / 9 cannot update passenger nginx module due to version conflict
I'm creating this issue in anticipation of people needing this info.
If you see the error below:
SEO error message for the google-inbound:
bash-4.4# yum update
Last metadata expiration check: 0:00:01 ago on Mon Jun 12 19:37:06 2023.
Error:
Problem 1: package nginx-mod-http-passenger-6.0.18-1.el8.x86_64 requires nginx = 1:1.22.1, but none of the providers can be installed
- cannot install the best update candidate for package nginx-mod-http-passenger-6.0.17-1.el8.x86_64
- package nginx-1:1.22.1-1.module+el8.8.0+1272+5c2d9d1f.x86_64 is filtered out by modular filtering
Problem 2: problem with installed package nginx-mod-http-passenger-6.0.17-1.el8.x86_64
- package nginx-mod-http-passenger-6.0.17-1.el8.x86_64 requires passenger(x86-64) = 6.0.17-1.el8, but none of the providers can be installed
- cannot install both passenger-6.0.18-1.el8.x86_64 and passenger-6.0.17-1.el8.x86_64
- package nginx-mod-http-passenger-6.0.18-1.el8.x86_64 requires nginx = 1:1.22.1, but none of the providers can be installed
- cannot install the best update candidate for package passenger-6.0.17-1.el8.x86_64
- package nginx-1:1.22.1-1.module+el8.8.0+1272+5c2d9d1f.x86_64 is filtered out by modular filtering
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
then you need to switch to the newest nginx module stream:
sudo yum remove -y nginx
sudo yum module reset nginx
sudo yum module enable -y nginx:$(sudo yum module list nginx | cut -d ' ' -f 2 | grep -Ee '^[0-9\.]+$' | sort -V | tail -1)
sudo yum install -y nginx-mod-http-passenger
Ran into this:
[Mon Sep 04 11:47:33 user3@server_f ~/sites/example] sudo yum module enable -y nginx:$(sudo yum module list nginx | cut -d ' ' -f 2 | grep -Ee '^[0-9\.]+$' | sort -V | tail -1)
Last metadata expiration check: 2:58:16 ago on Mon Sep 4 08:49:34 2023.
Error: Problems in request:
missing groups or modules: nginx:9
What does sudo yum module list nginx | cut -d ' ' -f 2 | grep -Ee '^[0-9\.]+$' | sort -V | tail -1 on its own return?
9
Ah, ok use this instead: sudo yum module enable -y nginx:$(sudo yum module list nginx | grep nginx | cut -d ' ' -f 2 | grep -Ee '^[0-9\.]+$' | sort -V | tail -1)
nginx version: nginx/1.22.1
OK, installed. I'll be watching how it behaves/works. Will this fall out with updates to nginx?
Updates within a stream will work as expected, but if a new stream is added, say 1.24 for example, then it will require switching over. It's more work but people were quite loud about wanting this.