npm 为什么在Expo CLI已经安装的情况下,还要求我安装版本控制的Expo CLI?

c3frrgcw  于 2023-02-19  发布在  其他
关注(0)|答案(1)|浏览(572)

当我奔跑

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

这似乎是循环的,或者至少是可疑的。我已经安装了最新的expoexpo-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
nfeuvbwi

nfeuvbwi1#

你需要完全按照错误消息的说明去做,而不是运行expo-cli,你需要使用npx expo,它将使用本地安装(在你的项目中)的expo cli版本,该版本与你项目中的expo包的版本绑定。
请注意,expo doctor没有在本地cli中实现,因此该命令始终使用全局命令。

相关问题