执行npm run eject Expo项目时遇连接禁用错误求助
解决Expo项目
npm run eject时的「the connection was disabled」错误 我之前帮不少开发者解决过这个问题,你碰到的这个错误大多是Expo CLI本地认证会话或者网络环境的锅,试试下面这些分步排查的方法:
1. 先排查网络与代理干扰
- 先关掉代理、VPN或者公司内网的防火墙试试——这类工具很容易拦截Expo CLI和云端的认证请求。如果必须用代理,得给Expo CLI手动配置代理:
expo config set proxy http://your-proxy-address:port - 切换到手机热点或者其他独立网络环境,快速排除本地网络的限制问题。
2. 重置Expo本地缓存与认证信息
旧的缓存或过期的认证会话经常会搞出这种连接问题,执行以下命令重置:
- 清除Expo CLI的本地缓存:
expo r -c - 注销当前账号后重新登录(尽量用邮箱密码登录,避开第三方登录可能的兼容性问题):
expo logout expo login
3. 更新Expo CLI到最新版本
旧版本的CLI可能存在已知的认证bug,先把CLI更到最新版再试:
npm install -g expo-cli
另外提一句:现在Expo官方更推荐用expo prebuild替代传统的eject命令,它的兼容性更好,如果你项目支持的话,可以试试这个命令替代npm run eject。
4. 手动用访问令牌登录
如果常规登录还是失败,可以直接用网页端生成的访问令牌来认证:
- 登录Expo网页端的账户设置页面,找到「Access Tokens」选项
- 创建一个新的访问令牌并复制下来
- 在本地终端执行命令完成登录:
expo login --token YOUR_COPIED_TOKEN
5. 紧急情况下跳过认证(谨慎使用)
如果你只是想完成eject操作,暂时不需要同步到Expo云端,可以添加参数跳过认证步骤:
expo eject --non-interactive
注意:这个方法可能会影响后续的云端同步功能,只建议在紧急情况下使用。
内容的提问来源于stack exchange,提问作者Hoai Truong
相关产品推荐
相关产品推荐

