You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Expo-cli安装过程中出现的npm缓存错误与权限报错问题

报错诱因分析
  • 首次安装expo-cli时出现的Unexpected end of JSON input报错:由npm本地缓存的包元数据损坏导致,一般是之前下载依赖时网络中断、资源拉取不完整,使得缓存中存储的JSON文件被截断,无法正常解析。
  • 执行npm cache clean --force时出现用法报错:当前使用的npm版本过低,v5以下的旧版npm的cache clean命令不支持--force参数,语法规则与新版npm不兼容。
  • 后续安装出现EACCES权限报错:当前操作系统用户没有/usr/local/lib/node_modules系统级全局node_modules目录的写入权限,npm默认将全局包安装到该系统目录,普通用户无修改权限导致安装失败。安装过程中出现的各类deprecated警告仅为依赖包版本过时的提示,不会导致安装失败,不属于核心报错原因。
解决步骤
  • 第一步:升级npm到最新稳定版,解决缓存命令语法不兼容问题,执行命令:
sudo npm install -g npm@latest
  • 第二步:清理损坏的npm本地缓存,执行命令:
npm cache clean --force
  • 第三步:解决全局安装权限问题,推荐使用第一种方案避免后续反复出现权限问题:
    方案1:修改npm全局包安装路径为当前用户目录
    1. 创建用户级全局包存储目录:
    mkdir -p ~/.npm-global
    
    1. 配置npm使用新目录作为全局安装路径:
    npm config set prefix '~/.npm-global'
    
    1. 编辑当前使用的shell配置文件(zsh对应~/.zshrc,bash对应~/.bash_profile),在文件末尾添加如下内容:
    export PATH=~/.npm-global/bin:$PATH
    
    1. 刷新shell配置使其生效:
    # zsh执行
    source ~/.zshrc
    # bash执行
    source ~/.bash_profile
    
    1. 无需sudo直接安装expo-cli:
    npm install -g expo-cli
    
    方案2:临时提权安装(仅适用于单次安装,后续安装其他全局包仍可能遇到权限问题):
    sudo npm install -g expo-cli
    
  • 第四步:验证安装结果,执行命令expo --version,正常输出版本号即代表安装成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:15:04