I wanted to require shlink-ip-geolocation to my instace but when I execute composer require shlinkio/shlink-ip-geolocation
as given I get this error. I’m not trusted with php so I don’t know how to solve this. I’m on Debian 12.
Your requirements could not be resolved to an installable set of packages.
Problem 1
- shlinkio/shlink-ip-geolocation[v3.5.0, v4.0.0] require geoip2/geoip2 ^3.0 -> satisfiable by geoip2/geoip2[v3.0.0].
- shlinkio/shlink-ip-geolocation v3.4.0 requires geoip2/geoip2 ^3.0 || ^2.13 -> satisfiable by geoip2/geoip2[v2.13.0, v3.0.0].
- shlinkio/shlink-ip-geolocation[v3.1.0, ..., v3.3.0] require geoip2/geoip2 ^2.13 -> satisfiable by geoip2/geoip2[v2.13.0].
- shlinkio/shlink-ip-geolocation[v2.0.0, ..., v2.2.0, v3.0.0] require geoip2/geoip2 ^2.11 -> satisfiable by geoip2/geoip2[v2.11.0, ..., v2.13.0].
- shlinkio/shlink-ip-geolocation v1.6.0 requires geoip2/geoip2 ^2.9 -> satisfiable by geoip2/geoip2[v2.9.0, ..., v2.13.0].
- geoip2/geoip2[v2.11.0, ..., v2.13.0, v3.0.0] require maxmind/web-service-common ~0.8 -> satisfiable by maxmind/web-service-common[v0.8.0, v0.8.1, v0.9.0].
- geoip2/geoip2 v2.10.0 requires maxmind/web-service-common ~0.6 -> satisfiable by maxmind/web-service-common[v0.6.0, ..., v0.9.0].
- geoip2/geoip2 v2.9.0 requires maxmind/web-service-common ~0.5 -> satisfiable by maxmind/web-service-common[v0.5.0, ..., v0.9.0].
- shlinkio/shlink-ip-geolocation[v1.0.0, ..., v1.2.0] require php ^7.2 -> your php version (8.3.6) does not satisfy that requirement.
- shlinkio/shlink-ip-geolocation[v1.3.0, ..., v1.5.0] require php ^7.4 -> your php version (8.3.6) does not satisfy that requirement.
- maxmind/web-service-common[v0.5.0, ..., v0.9.0] require ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.
- Root composer.json requires shlinkio/shlink-ip-geolocation * -> satisfiable by shlinkio/shlink-ip-geolocation[v1.0.0, ..., v1.6.0, v2.0.0, v2.1.0, v2.2.0, v3.0.0, ..., v3.5.0, v4.0.0].
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/8.3/cli/php.ini
- /etc/php/8.3/cli/conf.d/10-mysqlnd.ini
- /etc/php/8.3/cli/conf.d/10-opcache.ini
- /etc/php/8.3/cli/conf.d/10-pdo.ini
- /etc/php/8.3/cli/conf.d/15-xml.ini
- /etc/php/8.3/cli/conf.d/20-calendar.ini
- /etc/php/8.3/cli/conf.d/20-ctype.ini
- /etc/php/8.3/cli/conf.d/20-dom.ini
- /etc/php/8.3/cli/conf.d/20-exif.ini
- /etc/php/8.3/cli/conf.d/20-ffi.ini
- /etc/php/8.3/cli/conf.d/20-fileinfo.ini
- /etc/php/8.3/cli/conf.d/20-ftp.ini
- /etc/php/8.3/cli/conf.d/20-gd.ini
- /etc/php/8.3/cli/conf.d/20-gettext.ini
- /etc/php/8.3/cli/conf.d/20-iconv.ini
- /etc/php/8.3/cli/conf.d/20-intl.ini
- /etc/php/8.3/cli/conf.d/20-mbstring.ini
- /etc/php/8.3/cli/conf.d/20-mcrypt.ini
- /etc/php/8.3/cli/conf.d/20-mysqli.ini
- /etc/php/8.3/cli/conf.d/20-pdo_mysql.ini
- /etc/php/8.3/cli/conf.d/20-pdo_sqlite.ini
- /etc/php/8.3/cli/conf.d/20-phar.ini
- /etc/php/8.3/cli/conf.d/20-posix.ini
- /etc/php/8.3/cli/conf.d/20-readline.ini
- /etc/php/8.3/cli/conf.d/20-shmop.ini
- /etc/php/8.3/cli/conf.d/20-simplexml.ini
- /etc/php/8.3/cli/conf.d/20-sockets.ini
- /etc/php/8.3/cli/conf.d/20-sqlite3.ini
- /etc/php/8.3/cli/conf.d/20-sysvmsg.ini
- /etc/php/8.3/cli/conf.d/20-sysvsem.ini
- /etc/php/8.3/cli/conf.d/20-sysvshm.ini
- /etc/php/8.3/cli/conf.d/20-tokenizer.ini
- /etc/php/8.3/cli/conf.d/20-xmlreader.ini
- /etc/php/8.3/cli/conf.d/20-xmlwriter.ini
- /etc/php/8.3/cli/conf.d/20-xsl.ini
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-curl` to temporarily ignore these required extensions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require shlinkio/shlink-ip-geolocation:*" to figure out if any version is installable, or "composer require shlinkio/shlink-ip-geolocation:^2.1" if you know which you need.
I tried to add the extensions into the .ini files as seen here.
New contributor
DerProfiDigga is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.