although this solution is not the best and the safest solution exists, this worked for me and that make sense because all the problem we had with the errors is the permission problems. so you can use this command and ignore those permission problems :

sudo npm install expo-cli -g --unsafe-perm
Answer from Zhivar Sourati on Stack Overflow
🌐
Expo Documentation
docs.expo.dev › more › expo-cli
Expo CLI - Expo Documentation
Build and run the native apps locally: npx expo run:ios and npx expo run:android. Install and update packages that work with the version of react-native in your project: npx expo install package-name.
🌐
Expo Documentation
docs.expo.dev › bare › installing-expo-modules
Install Expo modules in an existing React Native project - Expo Documentation
The expo package has a small footprint; it includes only a minimal set of packages that are needed in nearly every app and the module and autolinking infrastructure that other Expo SDK packages are built with. Once the expo package is installed and configured in your project, you can use npx expo install to add any other Expo module from the SDK.
🌐
npm
npmjs.com › package › expo
expo - npm
The expo package is a single package you can install in any React Native app to begin using Expo modules.
      » npm install expo
    
Published   Dec 12, 2025
Version   54.0.29
Author   Expo
🌐
Medium
medium.com › @huzaifaqureshi037 › exwhy-you-should-use-npx-expo-install-instead-of-npm-install-in-expo-react-native-app-07d6156f064a
Why You Should Use “npx expo install” instead of “npm install” in Expo React Native App. | by Huzaifa Qureshi | Medium
October 23, 2024 - Installs the latest version of a package that satisfies your package.json requirements ... npx expo install is Expo's recommended way to install packages in Expo projects.
🌐
Expo Documentation
docs.expo.dev › get-started › create-a-project
Create a project - Expo Documentation
- npx create-expo-app@latest · You can choose a different template by adding the --template option. You have a project.
🌐
Expo Documentation
docs.expo.dev › tutorial › create-your-first-app
Create your first app - Expo Documentation
- npx create-expo-app@latest StickerSmash # Navigate to the project directory · - cd StickerSmash · This command will create a new project directory named StickerSmash, using the default template. This template has essential boilerplate code and libraries needed to build our app, including Expo Router.
🌐
npm
npmjs.com › package › install-expo-modules
install-expo-modules - npm
Just to run install-expo-modules command in your project: npx install-expo-modules · After that, you can add other expo-modules you need, e.g. expo-device: expo install expo-device # the expo command is from expo-cli. if you don't have this, ...
      » npm install install-expo-modules
    
Published   Dec 08, 2025
Version   0.13.14
Find elsewhere
🌐
Devcycle
docs.devcycle.com › react native › expo installation
Expo SDK Installation | DevCycle Docs
The command to install the React Native Expo SDK is: npx expo install @devcycle/react-native-expo-client-sdk
🌐
React Native
reactnative.dev › docs › environment-setup
Get Started with React Native · React Native
To create a new Expo project, run the following in your terminal: shell · npx create-expo-app@latest · Once you’ve created your app, check out the rest of Expo’s getting started guide to start developing your app.
🌐
Expo Documentation
docs.expo.dev › develop › tools
Tools for development - Expo Documentation
Expo CLI is a development tool and is installed automatically with expo package when you create a new project. You can use it by leveraging npx (a Node.js package runner).
🌐
DhiWise
dhiwise.com › post › easy-steps-to-install-expo-cli-npm-for-your-development
How to Install Expo CLI NPM for Your Development Environment
November 14, 2024 - Learn how to quickly install Expo CLI using NPM to streamline your development process. Read our guide for step-by-step instructions!
🌐
npm
npmjs.com › package › @expo › cli
expo/cli
npx expo config is auxiliary to npx expo prebuild and used for debugging/introspection. Installing versioned libraries with npx expo install this is a minimal utility born out of pure necessity since versioning in React Native is hard to get right.
      » npm install @expo/cli
    
Published   Dec 11, 2025
Version   54.0.19
Author   Expo
🌐
Expo Documentation
docs.expo.dev › router › installation
Install Expo Router - Expo Documentation
Follow the steps below if you have ... set up for running an Expo app. ... - npx expo install expo-router react-native-safe-area-context react-native-screens expo-linking ......
🌐
Nx
nx.dev › docs › technologies › react › expo › introduction
Expo Plugin for Nx | Nx
nx install <app-name> --fix · Section titled “Run an EAS Build” · Expo Application Services (EAS) are deeply integrated cloud services for Expo and React Native apps. EAS Build is a hosted service for building app binaries for your Expo ...
🌐
Expo Documentation
docs.expo.dev › workflow › using-libraries
Using Expo SDK, React Native, and third-party libraries - Expo Documentation
After the platform compatibility ... The npx expo install command picks a library version compatible with your project and then uses your JavaScript package manager (such as npm) to install it....
🌐
GitHub
github.com › expo › expo › issues › 23351
[SDK 49] "npx expo install --fix" installs dependencies from v48 · Issue #23351 · expo/expo
July 6, 2023 - { "scripts": { "start": "TAMAGUI_TARGET=native npx expo start -c --dev-client", "android": "TAMAGUI_TARGET=native npx expo run:android -c --dev-client", "ios": "TAMAGUI_TARGET=native npx expo run:ios", "web": "TAMAGUI_TARGET=web expo start --web", "upgrade:all": "ncu -i -u", "local:prebuild": "npx expo prebuild --skip-dependency-update react-native,react,expo", "local:build": "npx eas build --local --platform ios --profile development", "upgrade:tamagui": "manypkg upgrade tamagui && manypkg upgrade @tamagui && manypkg upgrade tamagui-loader" }, "dependencies": { "@invertase/react-native-apple-
Published   Jul 06, 2023