反应原生窗口,产生 npm ENOENT 错误

Posted

技术标签:

【中文标题】反应原生窗口,产生 npm ENOENT 错误【英文标题】:react native windows, spawn npm ENOENT error 【发布时间】:2016-04-10 22:39:14 【问题描述】:

我正在尝试在 windows 上运行 react-native 并得到以下错误:

C:\Program Files>react-native init AwesomeProject

这将引导你创建一个新的 React Native 项目 C:\Program Files\AwesomeProject 从安装 react-native 包 npm ... events.js:141 投掷者; // 未处理的“错误”事件 ^

错误:生成 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) 启动时 (node.js:136:18) 在 node.js:972:3

我该如何解决这个问题?

【问题讨论】:

路径C:\Program Files\AwesomeProject 是否存在,如果不存在,您当前的用户能否使用他们的权限集创建它? @tkone,是的。它有 1 个文件 package.json 有以下代码 "name":"AwesomeProject","version":"0.0.1","private":true,"scripts":"start":"node node_modules/react-native/local-cli/cli.js start" 您的错误信息还有吗? ENOENT 意味着它试图访问一个不存在的目录/文件。你能改变命令的日志级别吗? 因此,只要您在 init 调用中不使用 --verbose 功能,显然这已在 windows 中的 react-native 0.1.9 中修复,参考:github.com/facebook/react-native/issues/5414 【参考方案1】:

react-native-cli@0.1.8 错误

回滚 react-native-cli@0.1.7

一切正常。

【讨论】:

感谢您的回答,但如果您使用 text 而不是图像和完整的句子,这可以更好地交流。【参考方案2】:

这应该在 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

【讨论】:

这是我见过的最清晰的答案,为我解决了问题。【参考方案3】:

要解决这个问题,重新安装 NodeJS https://nodejs.org/en/

那么

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

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

【讨论】:

【参考方案4】:

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

【讨论】:

如果手头没有其他项目,请您详细说明如何解决该问题? @OlegKurbatov 你可以参考这个link了解更多信息

以上是关于反应原生窗口,产生 npm ENOENT 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何阅读 npm ENOENT 错误

npm 安装错误,错误为:ENOENT,chmod

npm 错误!代码 ENOENT,npm 错误!错误号 34

npm 错误!错误:生成 ENOENT

所有 npm 命令都给出相同的错误(ENOENT)

无法在 Windows 8 上启动 npm(错误:ENOENT,stat 'C:\Users\User\AppData\Roaming\npm')[重复]