React Native 错误 TypeError: cli.init is not a function

回答 10 浏览 4.2万 2022-06-27

在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
Bandish Kumar 提问于2022-06-27
10 个回答
#1楼
得票数 71

那是错误来自新版本 0.69.0 你可以使用npx react-native init ProjectName --version 0.68.2 然后升级到 v 0.69 以后。

Iva 提问于2022-06-27
这个答案是正确的。非常感谢。Tram Nguyen 2022-07-18
这个答案让它看起来像RN69中的一个bug,但这是一个破坏性的变化,虽然这个变通方法可以使用,但它实际上并没有解决根本原因,即全局安装的旧版本的react-native或react-native-cli。解决这个问题的正确方法是卸载全局cli(并且不在全局重新安装),就像这个答案中解释的那样。stackoverflow.com/a/72768422/390928 除非卸载,否则npx react-native init可能不会对未来任何新版本的 react-native 起作用。silyevsk 2022-08-07
我试过这个解决方案,但它对我不起作用。是的,在react native cli中存在一些bug,但对于一些刚开始学习这个的人来说,这是阻碍,这将解决这个问题,后来我把我的项目升级到了69,工作很好。Iva 2022-08-08
这个解决方案起了作用。使用v0.69的时候,甚至没有正确报告错误。新用户可能因此而被误导。我在命令cli.init is not a function中看到的错误pjoshi 2022-08-12
#2楼
得票数 59

安装新的react-native全局。

npm uninstall -g react-native-cli

安装新的react-native全局。

npm install -g react-native-cli

npm install -g react-native

并再次创建项目

npx react-native init AwesomeProject
Deni Al Farizi 提问于2022-07-05
Eat at Joes 修改于2022-09-09
> 如果你之前安装了一个全局的 react-native-cli 包,请删除它,因为它可能会导致意想不到的问题。Weijing Jay Lin 2022-07-14
当我创建一个新的React Native项目时,我的Ios/Anroid文件夹没有被创建,这让我头疼不已,因为我之前已经做过几次。你的解决方案是一个巨大的帮助,由于在你的帮助下,这个问题很容易解决,所以应该放在首位,谢谢你。steve 2022-10-14
#3楼
得票数 20

需要用以下命令来清理全局环境。

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全局。

npm install -g react-native-cli
npm install -g react-native

那么你就可以跑了。

npx react-native init ProjectName 
Bandish Kumar 提问于2022-06-27
Eat at Joes 修改于2022-09-09
没有用--对你来说有用吗?Bharat Singh 2022-06-27
它起作用了--对你来说,它没有起作用吗?Said Torres 2022-08-11
这也没有用。需要这个。github.com/facebook/react-native/issues/…Chaki_Black 2022-09-07
#4楼
得票数 13

发生这种情况是因为你有一个旧的 react native 版本,所以你需要在全局范围内删除 react native 版本并重新安装它。

解决你的问题的步骤。

如果您使用 Yarn:

第一步:检查全局安装列表。

yarn global list

如果你发现了 react-native 和 react-native-cli,那么请进入下一步,在全球范围内删除它们。

第二步:在 "一带一路 "沿线国家和地区开展合作。

yarn global remove react-native
yarn global remove react-native-cli

第三步:再次安装这些设备

yarn global add react-native
yarn global add react-native-cli

如果您使用 NPM:

第一步:检查全局安装列表。

npm -g list

如果你发现了 react-native 和 react-native-cli,那么请进入下一步,在全球范围内删除它们。

第二步:在 "一带一路 "沿线国家和地区开展合作。

npm uninstall -g react-native
npm uninstall -g react-native-cli

第三步:再次安装这些设备

npm install -g react-native
npm install -g react-native-cli

注意:删除你创建的旧项目,然后重新创建它。一切都会好起来的。

Mahmoud ElBatal 提问于2022-07-18
Mahmoud ElBatal 修改于2022-07-18
#5楼
得票数 2

应该运行。

yarn global listnpm global list

在运行后,卸载列表中所有react-native的cli,。

yarn global add @react-native-community/cli
Rafael J. Cunha 提问于2022-08-11
Rafael J. Cunha 修改于2022-08-11
#6楼
得票数 0

使用此命令删除react native cliffe

npm install -g react-native-cli

现在不需要它了,因为。

React Native有一个内置的命令行界面,你可以用它来生成一个新的项目。

检查reactnative.dev

Hassan Raza 提问于2022-08-23
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到更多关于如何写好答案的信息。Community 2022-08-26
#7楼
得票数 0

如果你之前安装了一个全局的 react-native-cli 包,请将其删除,因为它可能会导致意外的问题。你可以运行以下命令。

npm uninstall -g react-native-cli @react-native-community/cli

或者说

yarn global remove react-native-cli @react-native-community/cli

遵循参考:https://reactnative.dev/docs/environment-setup

Ëuclïdës Ďŕÿ'C 提问于2022-09-09
#8楼
得票数 0

这是来自新版本0.69.0的错误,你可以使用npx react-native init ProjectName --version 0.68.2,然后再升级到v 0.69。

Salman 提问于2022-10-23
#9楼
得票数 0

做-> yarn global remove react-native-cli && npm uninstall -g react-native-cli

然后-> yarn global add @react-native-community/cli 或者 npm install -g react-native-cli

Ajmal Hasan 提问于2022-10-23
#10楼
得票数 -2

只需使用

npx react-native init YourProjectName --version 0.68.2

在react native上创建项目的命令。

Avnish Kumar 提问于2022-08-11
Saeed Zhiany 修改于2022-08-16
请阅读我如何写出一个好的答案?。虽然这个代码块可能会回答OP的问题,但如果你能解释这个代码与问题中的代码有什么不同,你改变了什么,为什么你改变了它,以及为什么在不引入其他问题的情况下解决了这个问题,这个答案就会更有用。Saeed Zhiany 2022-08-16