John Davidson

MissingResourceException after updating from Laravel 7 to 9 and php 7 to 8

0 comments
Message:


I recently upgraded a Laravel 7 application to 9 and then upgraded php to version 8.1
The application also uses Laravel Nova and it uses the Currency field extensively. It also uses Symfony\Component\Intl\Currencies; quite extensively.


On my development machine (macOS) the application works fine.


The application is deployed as a serverless application via Laravel Vapor. When I try to run it, I get the following error


Symfony\Component\Intl\Exception\MissingResourceException: Couldn't read the indices [Names][][0] for the locale "en" in "/var/task/vendor/symfony/intl/Resources/data/currencies". The indices also couldn't be found for the fallback locale(s) "root".
Location
vendor/symfony/intl/Data/Bundle/Reader/BundleEntryReader.php:175 - Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReader::readEntry

Following several hours of research, I have tried adding the following to composer


    "ext-intl": "*",
"symfony/intl": "^6.0"

This does not appear to solve the problem and I'm a bit stumped. Does anyone have any ideas, is there something I should be installing globally for this to work correctly? Any advice would be most welcome.


UPDATE
I though to mention, I'm using this docker image: laravelphp/vapor:php81



My Answer:
en_US. This usually indicates that the ICU data is missing or corrupt. Make sure to install the symfony/intl package and the intl PHP extension.

Rate this post

5 of 5 based on 5466 votes

Comments




© 2024 Hayatsk.info - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us