Expo Init 项目中的“错误:spawn cmd ENOENT”

Posted

技术标签:

【中文标题】Expo Init 项目中的“错误:spawn cmd ENOENT”【英文标题】:"Error: spawn cmd ENOENT" In Expo Init Project 【发布时间】:2019-04-26 15:41:07 【问题描述】:

我正在使用

开始一个新的 React-Native 项目

expo init firstexpo

但我在命令提示符处收到此错误

错误:spawn cmd ENOENT

PS C:\Users\Alex\testing\firstexpo> expo start
[16:21:09] Starting project at C:\Users\Alex\testing\firstexpo
[16:21:11] Expo DevTools is running at http://localhost:19002
[16:21:11] Opening DevTools in the browser... (press shift-d to disable)
Error: spawn cmd ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:232:19)
    at onErrorNT (internal/child_process.js:407:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
PS C:\Users\Alex\testing\firstexpo>

npm 启动错误找不到模块“opn”

[16:38:49] Starting project at C:\Users\Alex\testing\firstexpo
[16:38:52] Expo DevTools is running at http://localhost:19002
[16:38:52] Opening DevTools in the browser... (press shift-d to disable)
[16:38:52] Cannot find module 'opn'
[16:38:52] Set EXPO_DEBUG=true in your env to view the stack trace.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! empty-project-template@ start: `expo start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the empty-project-template@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Alex\AppData\Roaming\npm-cache\_logs\2018-11-24T08_38_52_344Z-debug.log

我对编码很陌生,谁能告诉我如何解决这个问题? 非常感谢。

Downgrade to v28

【问题讨论】:

你的项目中安装了 expo-cli 吗?你可以删除你的 node_modules 文件夹并运行“npm install”吗? 是的,已安装 + expo-cli@2.4.0。删除 node_modules 文件夹并运行 npm install,结果相同。错误:在 process._tickCallback (internal/process/next_tick.js: 63:19) 好的,运行 'npm install opn' 再试一次 抱歉回复晚了。 + opn@5.4.0 添加了来自 1 个贡献者的 2 个包,更新了 1 个包并在 22.115 秒内审核了 22081 个包,发现了 0 个漏洞但遗憾的是,我仍然遇到错误:spawn cmd ENOENT 尝试在您的 package.json 文件中将 expo 版本设置为 28.0.0,然后运行 ​​npm install。许多用户报告说,expo init 对于较新版本已损坏。 【参考方案1】:

我用这个解决了我的错误。 "%SystemRoot%\system32;"在 PATH 变量中。

【讨论】:

你是怎么发现的? @haleonj 我从 GitHub 讨论中找到了这个解决方案。【参考方案2】:

1- 首先您需要编辑系统环境变量并找到您拥有 Windows Poweshell 的位置,因此在“系统环境变量路径”中添加新的

2- 然后以管理员身份打开 PoweShell 窗口并编写这两个命令:

:) 升级 Window PowerShell,因为你的 nodejs 和 npm 已更新,但 powershell 没有更新,所以它与你的 npm start 或 expo start 冲突,所以你应该升级 windows powershell

然后运行 ​​Cmd 并运行你的 poject npm start 或 expo start 这么快就可以工作了!

祝你好运!

【讨论】:

【参考方案3】:

每次我尝试在 Expo Go 中打开我的应用程序时都会遇到此错误。我确实清理了手机中的所有 Expo Go 应用程序数据,并且我的应用程序再次运行。

【讨论】:

以上是关于Expo Init 项目中的“错误:spawn cmd ENOENT”的主要内容,如果未能解决你的问题,请参考以下文章

exp init 项目的 eslint 配置

Expo XDE 项目有问题

React-Native 和 Expo:create-react-native-app 和 react-native init 之间的区别

排毒挂在 detox.init

由于我更新了 expo-sdk,我无法运行我的 expo 项目

Expo大作战--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等