Please provide the following:
- SDK Version: 43 (also tried 44)
- Platforms(Android/iOS/web/all): Android/iOS
- Add the appropriate “Tag” based on what Expo library you have a question on.
After upgrading from expo 40, I’ve followed the migration guides for 41, 42, and 43. I added a metro.config.js to include bundling support for an additional filetype and now it appears metro can’t find the path to AppEntry, as upon starting the expo server I’m getting the following error:
Error: ENOENT: no such file or directory, open '$pathToProjectRoot/http:/127.0.0.1:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false'
at Object.openSync (fs.js:476:3)
at Object.readFileSync (fs.js:377:35)
at getCodeFrame (/$pathToProjectRoot/node_modules/metro/src/Server.js:918:18)
at Server._symbolicate ($pathToProjectRoot/node_modules/metro/src/Server.js:990:22)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at Server._processRequest ($pathToProjectRoot/node_modules/metro/src/Server.js:403:7) {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: '$pathToProjectRoot/http:/127.0.0.1:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false'
What jumps out to me as weird is how it’s looking at $pathToProjectRoot/http:/127.0.0.1
, both because it’s appending http:/127.0.0.1
to the project root, as opposed to just looking at 127.0.0.1:19000/node_modules...
. Additionally, not sure why it’s http:/
and not http://
I’ve also tried setting the projectRoot
field within metro.config.js and it doesn’t seem to have any effect.
here’s my package.json:
{
"name": $name,
"version": "5.4.0",
"private": true,
"devDependencies": {
"@babel/preset-flow": "^7.0.0",
"@expo/metro-config": "^0.3.9",
"@pmmmwh/react-refresh-webpack-plugin": "^0.3.3",
"@semantic-release/changelog": "^5.0.1",
"@semantic-release/commit-analyzer": "^8.0.1",
"@semantic-release/git": "^9.0.0",
"@semantic-release/npm": "^7.0.6",
"@semantic-release/release-notes-generator": "^9.0.1",
"@storybook/addon-actions": "^5.1.10",
"@storybook/addon-knobs": "^5.1.11",
"@storybook/addon-links": "^5.1.10",
"@storybook/addon-ondevice-knobs": "^5.1.10",
"@storybook/react-native": "^5.1.10",
"@storybook/theming": "^5.1.10",
"@testing-library/jest-native": "^4.0.1",
"@testing-library/react-native": "^7.2.0",
"@types/react": "~17.0.21",
"babel-eslint": "^10.1.0",
"babel-preset-expo": "8.5.1",
"babel-preset-flow": "^6.23.0",
"conventional-changelog-conventionalcommits": "^4.5.0",
"emotion-theming": "^10.0.14",
"eslint": "7.22.0",
"eslint-config-airbnb": "18.2.1",
"eslint-plugin-flowtype": "^2.45.0",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-jest": "^24.3.2",
"eslint-plugin-jsx-a11y": "6.4.1",
"eslint-plugin-react": "7.23.1",
"eslint-plugin-react-hooks": "^4.2.0",
"flow-bin": "0.56.0",
"jest-expo": "~43.0.1",
"jscodeshift": "^0.11.0",
"metro": "^0.65.2",
"react-dom": "17.0.1",
"react-native-dotenv": "^0.2.0",
"react-test-renderer": "^17.0.2",
"semantic-release": "^17.2.3",
"semantic-release-expo": "^2.2.3",
"webpack": "^4.41.6",
"webpack-dev-server": "^3.11.0",
"webpack-hot-middleware": "^2.25.0",
"webpack-plugin-serve": "^1.0.0"
},
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"eject": "expo eject",
"android": "expo start --android",
"ios": "expo start --ios",
"build:ios-dev": "expo build:ios --release-channel dev",
"build:android-dev": "expo build:android --release-channel dev",
"build:ios-staging": "expo build:ios --release-channel staging",
"build:android-staging": "expo build:android --release-channel staging",
"build:ios-production": "expo build:ios --release-channel production",
"build:android-production": "expo build:android --release-channel production",
"test": "jest",
"storybook": "storybook start -p 7007",
"flow start": "flow start",
"flow stop": "flow stop",
"flow status": "flow status",
"flow coverage": "flow coverage",
"graphql-fragments": "node --experimental-modules src/common/graphql/introspectionFragmentMatcher",
"eslint": "./node_modules/.bin/eslint .",
"eslint:fix": "./node_modules/.bin/eslint . --fix"
},
"jest": {
"preset": "jest-expo"
},
"release": {
"verifyConditions": [
"semantic-release-expo",
"@semantic-release/changelog",
"@semantic-release/git",
"@semantic-release/github",
"@semantic-release/npm"
],
"analyzeCommits": [
[
"@semantic-release/commit-analyzer",
{
"preset": "conventionalcommits"
}
]
],
"generateNotes": [
[
"@semantic-release/release-notes-generator",
{
"preset": "conventionalcommits"
}
]
],
"prepare": [
"semantic-release-expo",
"@semantic-release/changelog",
"@semantic-release/npm",
{
"path": "@semantic-release/git",
"assets": [
"CHANGELOG.md",
"package.json",
"package-lock.json",
"app.json"
],
"versions": {
"version": "${next.raw}",
"android": "${code}",
"ios": "${next.raw}"
}
}
],
"publish": false,
"success": false,
"fail": false
},
"dependencies": {
"@apollo/client": "^3.3.13",
"@apollo/react-testing": "^4.0.0",
"@babel/core": "^7.12.9",
"@commitlint/cli": "^9.0.1",
"@commitlint/config-conventional": "^12.0.0",
"@emotion/core": "^10.0.15",
"@emotion/native": "^10.0.14",
"@expo/vector-icons": "^12.0.0",
"@optimizely/js-sdk-event-processor": "^0.6.0",
"@optimizely/react-sdk": "^2.0.0-alpha.1",
"@react-native-async-storage/async-storage": "~1.15.0",
"@react-native-community/masked-view": "0.1.10",
"@react-native-community/netinfo": "6.0.2",
"@react-native-community/toolbar-android": "0.1.0-rc.2",
"@react-navigation/core": "^5.12.4",
"@react-navigation/material-bottom-tabs": "^5.2.18",
"@react-navigation/native": "^5.7.5",
"@react-navigation/stack": "^5.2.9",
"@react-navigation/web": "^1.0.0-alpha.9",
"@sentry/react-native": "^2.2.1",
"apollo-link-logger": "2.0.0",
"apollo-upload-client": "^16.0.0",
"babel-cli": "6.26.0",
"color": "3.0.0",
"color-hash": "^1.0.3",
"core-js": "^3.9.1",
"date-fns": "1.29.0",
"date-fns-timezone": "^0.1.4",
"expo": "^43.0.0",
"expo-app-loading": "~1.2.1",
"expo-application": "~4.0.0",
"expo-barcode-scanner": "~11.1.2",
"expo-camera": "~12.0.3",
"expo-constants": "~12.1.3",
"expo-device": "~4.0.3",
"expo-file-system": "~13.0.3",
"expo-font": "~10.0.3",
"expo-image-manipulator": "~10.1.2",
"expo-image-picker": "~11.0.3",
"expo-linking": "~2.4.2",
"expo-modules-core": "~0.4.10",
"expo-notifications": "~0.13.3",
"expo-permissions": "~13.0.3",
"expo-updates": "~0.10.15",
"expo-web-browser": "~10.0.3",
"graphql": "^15.5.0",
"history": "^4.10.1",
"husky": "^4.2.5",
"json2csv": "^4.5.4",
"lodash": "^4.17.21",
"lodash.groupby": "4.6.0",
"memoize-one": "^5.0.5",
"node-fetch": "2.6.1",
"prettier": "1.14.0",
"prettier-eslint": "6.4.3",
"prop-types": "15.6.2",
"ramda": "^0.26.1",
"react": "17.0.1",
"react-hot-loader": "^4.12.20",
"react-native": "0.64.3",
"react-native-collapsible": "0.10.0",
"react-native-easy-grid": "^0.2.2",
"react-native-gesture-handler": "~1.10.2",
"react-native-image-view": "^2.1.9",
"react-native-modal": "5.4.0",
"react-native-modal-selector": "^2.1.0",
"react-native-multiple-select": "^0.5.3",
"react-native-paper": "^3.0.0",
"react-native-picker-select": "8.0.4",
"react-native-raw-bottom-sheet": "^2.2.0",
"react-native-safe-area-context": "3.3.2",
"react-native-screens": "~3.8.0",
"react-native-svg": "~9.4.0",
"react-native-swipe-list-view": "2.0.0",
"react-native-vector-icons": "^6.7.0",
"react-native-webview": "11.13.0",
"react-navigation-tabs": "2.3.0",
"react-refresh": "^0.8.3",
"react-router-dom": "^5.1.2",
"react-router-native": "^5.1.2",
"sentry-expo": "^4.0.0",
"sockjs-client": "^1.5.0",
"subscriptions-transport-ws": "^0.10.0",
"type-fest": "^0.13.1",
"victory": "^32.3.3",
"victory-native": "^31.0.0"
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
],
"rules": {
"subject-case": [
2,
"never",
[
"start-case",
"pascal-case"
]
]
}
}
}