Invariant Violation: expected workspace package to exist for 'react-native' when installing in a monorepo
aureliopetrone opened this issue · 1 comments
aureliopetrone commented
Environment
OS: Mac OS 13.0 / node v20.13.1
react-native-vector-icons version: latest
React Native version: 0.73.6
Yarn version: 1.22
Description
I am encountering the following error when trying to use react-native in my monorepo setup:
Invariant Violation: expected workspace package to exist for 'react-native'
I have verified that react-native is correctly listed in the dependencies of the root package.json. I have also checked the following:
- The root package.json file includes the workspaces field.
- Dependencies are correctly installed using yarn install.
- Project is cleaned by removing node_modules and cleaning yarn cache and reinstalling dependencies
Despite these checks, the issue persists.
Here is my package.json:
{
"name": "mono",
"version": "0.0.0",
"license": "MIT",
"scripts": {},
"private": true,
"devDependencies": {
"@babel/core": "^7.14.5",
"@babel/preset-react": "^7.14.5",
"@nx/devkit": "19.0.4",
"@nx/eslint": "19.0.4",
"@nx/eslint-plugin": "19.0.4",
"@nx/jest": "19.0.4",
"@nx/js": "19.0.4",
"@nx/node": "19.0.4",
"@nx/playwright": "19.0.4",
"@nx/react": "^19.0.4",
"@nx/react-native": "^19.0.4",
"@nx/web": "19.0.4",
"@nx/webpack": "19.0.4",
"@playwright/test": "^1.36.0",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
"@react-native-community/cli-platform-android": "~12.3.6",
"@react-native/babel-preset": "^0.73.21",
"@react-native/metro-config": "^0.73.5",
"@simondotm/nx-firebase": "^2.3.0",
"@svgr/webpack": "^8.0.1",
"@swc-node/register": "~1.8.0",
"@swc/cli": "~0.3.12",
"@swc/core": "~1.3.85",
"@swc/helpers": "~0.5.2",
"@testing-library/jest-native": "~5.4.3",
"@testing-library/react": "15.0.6",
"@testing-library/react-native": "^12.5.0",
"@types/jest": "^29.4.0",
"@types/node": "18.16.9",
"@types/react": "18.3.1",
"@types/react-dom": "18.3.0",
"@typescript-eslint/eslint-plugin": "^7.3.0",
"@typescript-eslint/parser": "^7.3.0",
"babel-jest": "^29.4.1",
"eslint": "~8.57.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-jsx-a11y": "6.7.1",
"eslint-plugin-playwright": "^0.15.3",
"eslint-plugin-react": "7.32.2",
"eslint-plugin-react-hooks": "4.6.0",
"firebase-functions-test": "^3.1.1",
"firebase-tools": "^12.9.1",
"jest": "^29.4.1",
"jest-environment-jsdom": "^29.4.1",
"jest-environment-node": "^29.4.1",
"jest-react-native": "18.0.0",
"kill-port": "^2.0.1",
"nx": "19.0.4",
"prettier": "^2.6.2",
"react-native-svg": "15.1.0",
"react-native-svg-transformer": "1.3.0",
"react-native-web": "^0.19.10",
"react-refresh": "^0.10.0",
"react-test-renderer": "18.2.0",
"ts-jest": "^29.1.0",
"ts-node": "10.9.1",
"typescript": "~5.4.2",
"webpack-cli": "^5.1.4"
},
"workspaces": [
"packages/*"
],
"dependencies": {
"firebase": "^10.10.0",
"firebase-admin": "^11.11.1",
"firebase-functions": "^4.8.2",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-native": "0.73.6",
"tslib": "^2.3.0"
}
}
aureliopetrone commented
Switching to Yarn 2 solves the problem.