用苹果电脑(MacBook air 或者 M1)运行 npx react-native init appName时候报错,如下图所示:
TypeError: cli.init is not a function
at run (/opt/homebrew/lib/node_modules/react-native-cli/index.js:302:7)
at createProject (/opt/homebrew/lib/node_modules/react-native-cli/index.js:249:3)
at init (/opt/homebrew/lib/node_modules/react-native-cli/index.js:200:5)
at Object.<anonymous> (/opt/homebrew/lib/node_modules/react-native-cli/index.js:153:7)
at Module._compile (node:internal/modules/cjs/loader:1112:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1166:10)
at Module.load (node:internal/modules/cjs/loader:988:32)
at Module._load (node:internal/modules/cjs/loader:834:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
at node:internal/main/run_main_module:17:47
问题原因:这是新版本的错误导致。
为了解决这个问题,我本地用了两种方式:
方法1:你可以用npx react-native init ProjectName --version 0.68.2,然后再升级到0.69版本。
可以看到大家的反馈:
方法2:当我尝试用在其他电脑用方法1的时候还会出现问题所以方法2:
第一步 清理全局环境:
yarn global remove react-native
yarn global remove react-native-cli
npm uninstall -g react-native
npm uninstall -g react-native-cli
第二步 检查这些列表中没有与 react-native 相关的内容:
yarn global list
npm -g list
第三步 安装新的 react-native global:
npm install -g react-native-cli
npm install -g react-native
最后 你可以运行:
npx react-native init ProjectName