已安装Expo相关工具仍被要求安装版本化Expo CLI,该如何解决?
解决Expo CLI循环矛盾提示问题
问题现象
运行expo-cli doctor时收到提示:
WARNING: The legacy expo-cli does not support Node +17. Migrate to the versioned Expo CLI (npx expo).
但运行yarn expo doctor时又收到反向提示:
expo doctor is not supported in the local CLI, please use expo-cli doctor instead
已安装最新版expo和expo-cli,仍陷入循环提示。
环境信息
全局环境
$ npm list --location=global --depth=0 /opt/homebrew/lib ├── @aws-amplify/cli@10.7.3 ├── corepack@0.16.0 ├── create-expo-app@1.3.2 ├── eas-cli@3.6.0 ├── expo-cli@6.3.1 ├── firebase-tools@11.23.1 ├── ios-sim@9.0.0 ├── npm-check-updates@16.7.5 ├── npm@9.5.0 └── react-devtools@4.27.2 $ which -a eas /opt/homebrew/bin/eas $ eas --version eas-cli/3.6.0 darwin-arm64 node-v18.14.1 $ expo --version WARNING: The legacy expo-cli does not support Node +17. Migrate to the versioned Expo CLI (npx expo). 6.3.1
项目目录内
$ yarn list ... ├── expo-dev-client@2.0.1 ├── expo-file-system@15.1.1 ├── expo-sharing@11.0.1 ├── expo-splash-screen@0.17.5 ├── expo-status-bar@1.4.4 ├── expo-updates@0.15.6 ├── expo@47.0.13 $ which -a expo /private/var/folders/90/46v8ldy13r13wf1hr7w9xzfw0000gn/T/xfs-08dd5804/expo /opt/homebrew/bin/expo $ /private/var/folders/90/46v8ldy13r13wf1hr7w9xzfw0000gn/T/xfs-08dd5804/expo -bash: /private/var/folders/90/46v8ldy13r13wf1hr7w9xzfw0000gn/T/xfs-08dd5804/expo: No such file or directory ...
用户根目录(~)下
$ npm list /Users/Rax └── (empty) $ yarn list yarn list v1.22.19 Done in 0.01s. $ which -a expo /opt/homebrew/bin/expo
解决方案
卸载全局
expo-cli:全局旧版expo-cli与新版版本化CLI冲突,直接卸载:npm uninstall -g expo-cli # 或使用yarn卸载 yarn global remove expo-cli使用版本化Expo CLI:新版Expo推荐调用项目本地依赖的CLI,无需全局安装,直接执行:
npx expo doctor如果项目未安装
expo,先在项目目录内安装:yarn add expo --dev # 或npm npm install expo --save-dev清理无效缓存:项目内临时Expo路径无效,清理Yarn缓存后重新运行命令:
yarn cache clean
内容的提问来源于stack exchange,提问作者orome
相关产品推荐
相关产品推荐

