После обновления Expo SDK 49 до 51 мои изображения не работают. Изображения хранятся локально в папке ресурсов проекта, и я использую expo-image.
"dependencies": {
"@react-native-async-storage/async-storage": "1.23.1",
"@react-navigation/bottom-tabs": "^6.5.7",
"@react-navigation/native": "^6.1.6",
"@react-navigation/native-stack": "^6.9.12",
"expo": "^51.0.8",
"expo-application": "~5.9.1",
"expo-av": "~14.0.5",
"expo-constants": "~16.0.1",
"expo-device": "~6.0.2",
"expo-font": "~12.0.5",
"expo-image-picker": "~15.0.5",
"expo-intent-launcher": "~11.0.1",
"expo-linear-gradient": "~13.0.2",
"expo-localization": "~15.0.3",
"expo-notifications": "~0.28.3",
"expo-secure-store": "~13.0.1",
"expo-splash-screen": "~0.27.4",
"expo-status-bar": "~1.12.1",
"expo-updates": "~0.25.14",
...
"expo-image": "~1.12.9"
},
Пример того, как я получаю изображения.
/assets
/screens
homescreen.tsx <- snip below is from here
package.json
<Image
contentFit = "contain"
style = {styles.headerImage}
source = {require("../assets/images/ArtHomePage1.png")}
/>
Я просмотрел документацию и журналы изменений между 49–50 и 50–51 и не смог найти ничего, касающегося изменений изображений или локальных файлов.
@MichaelBrenndoerfer плохие формулировки с моей стороны. Но в Expo 49 изображения (которые хранились в папке assets/images) отображались в приложении, но после обновления до Expo 51 они не отображаются/видны. Как будто они не загружены.





Это была проблема с зависимостями, вызванная обновлением. Я видел ответ на https://stackoverflow.com/a/78523103/1174076 и вот он. Раньше я запускал доктора, но, должно быть, он почему-то не сработал, поэтому я запустил его еще раз:
npx expo-doctor@latest
И 3 зависимости были указаны как требующие обновления, в первую очередь сама expo:
Detailed check results:
The following packages should be updated for best compatibility with the installed expo version:
[email protected] - expected version: ~51.0.11
[email protected] - expected version: ~0.27.5
[email protected] - expected version: 0.74.2
Your project may not work correctly until you install the expected versions of the packages.
Found outdated dependencies
Advice: Use 'npx expo install --check' to review and upgrade your dependencies.
Итак, бег npx expo install --check исправил ситуацию.
@rafbanaan попробуйте это и дайте мне знать, сработает ли это.
Теперь я получаю error: TypeError: Cannot read properties of undefined (reading 'transformFile') при проверке у врача, я получаю это, но когда я делаю npm i Metro-resolver@~0.80.8, он не обновляет пакет Expected package metro-resolver@~0.80.8 Found invalid: [email protected]
Хорошо, исправлено вышеописанное путем чистой установки всех пакетов и удаления файла package.lock! Исправление вышеприведенного ответа работает! :)
@bitoiu ты спас мне жизнь...
Рад помочь @IsaRota
Что вы подразумеваете под словом сломанный? Не отображается изображение, выдает ошибку и т. д.?