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”的主要内容,如果未能解决你的问题,请参考以下文章
React-Native 和 Expo:create-react-native-app 和 react-native init 之间的区别
由于我更新了 expo-sdk,我无法运行我的 expo 项目
Expo大作战--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等