expo-doctor using a pre-release version of react-native-svg
causing strict peer dependencies to fail
#28696
Labels
CLI
Versioned Expo CLI -- `npx expo start`
Summary
NPM install is failing after running
expo-doctor
due to irreconcilablereact-native-svg
version pinning caused byexpo-doctor
, even though the 3rd party dependency involved does specify a valid dependency constraint.What platform(s) does this occur on?
Android, iOS, Web
SDK Version
51
Environment
expo-env-info 1.2.0 environment info:
System:
OS: macOS 14.4.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.13.0 - ~/.nvm/versions/node/v20.13.0/bin/node
npm: 10.5.0 - ~/git/fly-fit/node_modules/.bin/npm
Watchman: 2024.05.06.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.15.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.4, iOS 17.4, macOS 14.4, tvOS 17.4, visionOS 1.1, watchOS 10.4
IDEs:
Android Studio: 2023.3 AI-233.14808.21.2331.11709847
Xcode: 15.3/15E204a - /usr/bin/xcodebuild
npmPackages:
expo: ^51.0.0 => 51.0.0
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.74.1 => 0.74.1
react-native-web: ~0.19.10 => 0.19.10
npmGlobalPackages:
eas-cli: 9.0.0
Expo Workflow: bare
Minimal reproducible example
When upgrading the Expo 51 from Expo 51, when I ran the
npx expo install --fix
command, it upgraded
react-native-svg@15.2.0-rc.0
in my package.json and package-lock.json (previous version wasreact-native-svg@14.1.0
One of my other dependencies (
react-native-circular-progress-indicator
) specifiesreact-native-svg@">=12.1.1"
as a peer dependency. When I run a simplenpm install
where my .npmrc file has these flags set:I get the following error
Very simply, an "rc" version within npm versioning constraints DOES NOT satisfy this ">=12.1.1" constraint since it's a pre-release version. The simple fix would be to have
expo-doctor
NOT to install an "rc" version. Just seems like a bug or oversight somewhere in theexpo-doctor
since the 3rd party dependency just expects any version ">=12" the version pinned is invalid.The text was updated successfully, but these errors were encountered: