
本文详解 Expo CLI 的现代安装与使用方式,重点解决 npm ERR! code EACCES 权限错误问题,推荐全程使用 npx 代替全局安装,安全、简洁且无需 sudo 权限。
本文详解 expo cli 的现代安装与使用方式,重点解决 `npm err! code eacces` 权限错误问题,推荐全程使用 `npx` 代替全局安装,安全、简洁且无需 sudo 权限。
在 macOS 或 Linux 系统中执行 npm install -g expo-cli 时出现 EACCES: permission denied, mkdir '/usr/local/lib/node_modules/expo-cli' 错误,本质是 npm 尝试向系统级目录写入文件,但当前用户缺乏管理员权限——这不是 Expo 的缺陷,而是全局安装 npm 包时常见的权限风险。幸运的是,Expo 官方早已弃用全局安装方案,转而推荐更安全、更轻量的 npx 方式。
✅ 正确做法:完全绕过全局安装,直接使用 npx
npx 是 npm 自带的执行工具,它会自动检测本地是否存在指定包;若不存在,则临时下载并运行(不写入全局 node_modules),执行完毕后可自动清理缓存(除非显式保留)。这意味着:
- 无需 sudo 或管理员权限
- 不污染全局环境,避免版本冲突
- 始终使用与项目匹配的 CLI 版本(尤其适合多项目协作)
✅ 创建新 Expo 项目(推荐)
npx create-expo-app@latest MyAwesomeApp --template
该命令会自动拉取最新版 create-expo-app,初始化项目结构,并安装所有依赖。无需提前安装任何全局 CLI。
✅ 启动/构建/发布项目(全部基于 npx)
# 进入项目目录 cd MyAwesomeApp # 启动开发服务器(等价于旧版 `expo start`) npx expo start # 在 iOS 模拟器中运行(需 Xcode) npx expo run:ios # 构建 Android APK npx expo build:android # 打开项目配置(app.json/app.config.js) npx expo config
⚠️ 注意事项:
- 不要执行 npm install -g expo-cli 或 yarn global add expo-cli —— 这不仅引发权限问题,还可能导致 CLI 版本陈旧或与 SDK 不兼容;
- 如果已误装全局 Expo CLI,可通过 npm uninstall -g expo-cli 卸载(仍可能需 sudo),但卸载后无需重装;
- 若 npx 执行缓慢,可添加 --ignore-existing 跳过本地缓存检查,或使用 npx --yes 自动确认;
- VS Code 或其他编辑器无需特殊配置;Expo CLI 与编辑器完全解耦,卸载 VS Code 并不影响 Expo 使用。
? 总结:Expo 已全面拥抱 npx 驱动的工作流。作为开发者,你只需记住两个核心命令:
? npx create-expo-app(新建项目)
? npx expo <command>(日常开发操作)
其余皆为冗余步骤。告别权限报错,拥抱零配置、按需加载的现代前端实践。

















