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.
People also ask

How do I update Expo CLI to the latest version?
To update Expo CLI, run npm install -g expo-cli in your terminal. This command ensures you have the latest features and improvements.
🌐
dhiwise.com
dhiwise.com › post › easy-steps-to-install-expo-cli-npm-for-your-development
How to Install Expo CLI NPM for Your Development Environment
Is Expo CLI suitable for building production-ready apps?
Absolutely. Expo CLI streamlines the development process, from coding to deployment, making it an excellent choice for creating production-ready applications.
🌐
dhiwise.com
dhiwise.com › post › easy-steps-to-install-expo-cli-npm-for-your-development
How to Install Expo CLI NPM for Your Development Environment
Can I use Expo CLI for existing React Native projects?
Yes, you can integrate Expo into existing React Native projects to leverage its tooling and features, enhancing your development workflow.
🌐
dhiwise.com
dhiwise.com › post › easy-steps-to-install-expo-cli-npm-for-your-development
How to Install Expo CLI NPM for Your Development Environment
🌐
npm
npmjs.com › package › expo-cli
expo-cli - npm
Author message:The global Expo CLI has been superseded by 'npx expo' and eas-cli –– Learn more: https://blog.expo.dev/the-new-expo-cli-f4250d8e3421 ... If you have problems with the code in this repository, please file issues & bug reports at https://github.com/expo/expo-cli. Thanks! Installation instructions and documentation here.
      » npm install expo-cli
    
Published   Jul 05, 2023
Version   6.3.10
🌐
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 - To kickstart your React Native development, install Expo CLI globally on your computer by running the following command in your terminal:
🌐
npm
npmjs.com › package › @expo › cli
expo/cli
Unlike the legacy global Expo CLI, this CLI is shipped with expo meaning the SDK Version is always present. Reduce SDK specific tasks since only one SDK should be accounted for in a single version of @expo/cli. The @expo/config method getConfig does not need the skipSDKVersionRequirement in any case since expo should always be installed...
      » npm install @expo/cli
    
Published   Dec 11, 2025
Version   54.0.19
Author   Expo
🌐
NotJust
notjust.dev › blog › 2021-11-04-expo-development-environment-setup-for-first-react-native-project-windows
Expo Development Environment Setup on Windows
To install Expo CLI, you simply have to open the terminal and type npm install --global expo-cli. That's it, it's that easy!
Find elsewhere
🌐
Exposition
blog.expo.dev › the-new-expo-cli-f4250d8e3421
The New Expo CLI. In Expo SDK 46 we introduced a new… | by Evan Bacon | Exposition
August 11, 2022 - Most of what lived in the legacy global CLI now lives in eas-cli which is agnostic to the Expo SDK version (available for use in any React Native app) and therefore doesn’t need to be installed in a user’s project.
🌐
GitHub
github.com › expo › expo › issues › 24957
"npm install -g expo-cli" doesn't update expo-cli · Issue #24957 · expo/expo
September 17, 2023 - │ │ You are currently using expo-cli 4.2.1 │ │ Install expo-cli globally using the package manager of your choice; │ │ for example: `npm install -g expo-cli` to get the latest version │ │ │ └──────────...
Published   Oct 20, 2023
🌐
Expo Documentation
docs.expo.dev › develop › tools
Tools for development - Expo Documentation
To use EAS CLI, you need to install it globally on your local machine by running the command: Terminal · Copy · - npm install -g eas-cli · You can use eas --help in your terminal window to learn more about the available commands.
🌐
GitHub
github.com › expo › expo-cli
GitHub - expo/expo-cli: Tools for creating, running, and deploying universal Expo and React Native apps
The modern local Expo CLI is included with the expo package and does not need to be installed separately. Run it with npx expo. Its source code lives in the expo/expo repo. This repo consists of packages used in the legacy global Expo CLI and related tooling.
Starred by 2.7K users
Forked by 479 users
Languages   TypeScript 86.3% | HTML 6.9% | JavaScript 6.8%
🌐
Expo
expo.dev › tools
Get Expo Tools — Expo
Expo CLI · The interface between devs and Expo · View Expo CLI on GitHub · Expo SDK · Device and system functionality features · API References · Expo Go · Run your project on your own device · Download · Orbit · A desktop app that streamlines development ·
🌐
Stack Overflow
stackoverflow.com › questions › 64747843 › why-expo-cli-must-be-installed-globally
global - Why expo-cli must be installed globally? - Stack Overflow
The official way of working with expo-cli is to install it globally, see https://docs.expo.io/get-started/installation/#installing-expo-cli: Installing Expo CLI # Install command line tools npm in...
🌐
Expo Documentation
docs.expo.dev › bare › using-expo-cli
Migrate from React Native CLI to Expo CLI - Expo Documentation
If building for these platforms, you can utilize Expo CLI for the supported platforms and @react-native-community/cli for the others. After installing the expo package, you can use the following commands which are alternatives to npx react-native run-android and npx react-native run-ios:
🌐
Educative
educative.io › answers › how-to-setup-react-native-with-expo-on-ubuntu
How to setup React Native with Expo on Ubuntu
Run the following command in your Ubuntu terminal to install the command line interface (CLI) of Expo: ... The --global flag installs the package globally on the system, ​not just in your current project directory.
🌐
Expo Documentation
docs.expo.dev › bare › installing-expo-modules
Install Expo modules in an existing React Native project - Expo Documentation
The last step is to install the project's CocoaPods again to pull in Expo modules that are detected by use_expo_modules! directive that we added to the Podfile: ... We recommend using Expo CLI and related tooling configurations to bundle your app JavaScript code and assets.