React Native Windows,生成npm ENOENT错误。

3

我正在尝试在Windows上运行React Native,但遇到以下错误:

C:\Program Files>react-native init AwesomeProject

这将指导您在 C:\Program Files\AwesomeProject 中创建一个新的 React Native 项目,从 npm 安装 react-native 包... events.js:141 throw er; // Unhandled 'error' event ^ 错误:spawn npm ENOENT 在 exports._errnoException (util.js:860:11) 在 Process.ChildProcess._handle.onexit (internal/child_process.js:178:32) 在 onErrorNT (internal/child_process.js:344:16) 在 doNTCallback2 (node.js:450:9) 在 process._tickCallback (node.js:364:17) 在 Function.Module.runMain (module.js:459:11) 在 startup (node.js:136:18) 在 node.js:972:3
我该如何解决这个问题?

路径 C:\Program Files\AwesomeProject 是否存在?如果不存在,您当前的用户是否具有足够的权限来创建它? - tkone
@tkone,是的。它有一个名为package.json的文件,其中包含以下代码:{"name":"AwesomeProject","version":"0.0.1","private":true,"scripts":{"start":"node node_modules/react-native/local-cli/cli.js start"}} - user2950593
1
你的错误信息还有其他内容吗?ENOENT 表示正在尝试访问不存在的目录/文件。你能否更改命令的日志级别? - tkone
所以显然,在 Windows 上,只要您不在 init 调用中使用 --verbose 功能,这个问题就已经在 react-native 0.1.9 中得到了解决,参考:https://github.com/facebook/react-native/issues/5414 - zipzit
5个回答

9
这个问题应该在React Native CLI 0.1.9中得到解决。要更新您的CLI,请按照以下步骤操作:
npm uninstall -g react-native-cli
npm install -g react-native-cli

0.1.8版本中存在一个回归问题,报告如下:https://github.com/facebook/react-native/issues/5169


这是我见过的对这个问题最清晰的答案了,已经为我解决了这个问题。 - Matt H

4
检查android文件夹中是否存在gradlew.bat文件,如果不存在,则从另一个项目中复制gradlew.bat文件。

1
请您详细说明如何解决手头没有其他项目的问题? - Oleg Kurbatov
@OlegKurbatov 你可以参考这个链接获取更多信息。 - Tapan Dabhi

1

enter image description here

react-native-cli@0.1.8 错误

回滚 react-native-cli@0.1.7

一切正常。


4
谢谢你的回答,如果你使用“文本”而不是图像和完整的句子,那么这个信息传达起来会更好。请注意,我已经尽力使翻译尽可能通俗易懂,但并没有改变原意。 - Brad Koch

0
为了解决这个问题,重新安装NodeJShttps://nodejs.org/en/

enter image description here

然后

npm install -g react-native-cli --vebrose
react-native init App --verbose

enter image description here

如果仍然失败,请尝试安装Python 3https://www.python.org/并重复该过程。

0
从路径project/android/中删除gradlew.batgradlew文件,然后从另一个React Native项目复制这些文件并粘贴到此路径project/android/,最后运行npm install并运行该项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接