You need to enable JavaScript to run this app. 为React Native安装Expo时出现ENOTEMPTY报错、ZSH权限拒绝如何解决
优惠活动
大模型
产品
解决方案
定价
更多

为React Native安装Expo时出现ENOTEMPTY报错、ZSH权限拒绝如何解决

Expo CLI 全局安装常见问题解决方案

针对ENOTEMPTY目录非空报错的处理

这类报错本质是旧版expo-cli的残留目录和npm的临时重命名机制冲突,按以下步骤清理即可:

  • 删除旧版本残留的全局安装目录、以及npm安装过程中生成的临时缓存目录:
    sudo rm -rf /usr/local/lib/node_modules/expo-cli /usr/local/lib/node_modules/.expo-cli-*
  • 强制清理npm本地缓存,避免残留文件干扰安装流程:
    npm cache clean --force

针对ZSH权限拒绝提示的处理

这类问题大多是全局npm路径的权限归属错配,混用sudo和普通用户安装操作会加剧权限问题:

  • 先查询当前npm配置的全局安装前缀路径:
    npm config get prefix
  • 修正全局安装路径下相关目录的归属为当前用户,消除后续操作的提权需求:
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,lib}
  • 完成权限修正后,直接执行全局安装命令即可,无需额外添加sudo参数:
    npm i -g expo-cli
    注意:完成权限修正后,请勿长期依赖sudo参数执行全局npm安装命令,否则会再次触发文件归属错配,重复出现权限拒绝问题

针对执行expo提示命令不存在的处理

这类问题一般是全局安装目录未加入ZSH的环境变量PATH:

  • 将npm全局bin目录路径追加到ZSH的配置文件中:
    echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
  • 重载ZSH配置,让环境变量立即生效:
    source ~/.zshrc
  • 最后执行版本校验,确认安装生效:
    expo --version

内容的提问来源于stack exchange,提问作者Matt Volonnino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 12:15:04