我正在开发用Electron构建的devtool来管理React应用程序。该工具可以执行以下操作,例如使用create-react-app创建新项目,运行本地开发服务器,安装依赖项等。
这全部取决于用户在系统上安装了Node,因为用户可以执行的所有任务仅使用child_process
来运行CLI命令,例如npm install X
或npx create-react-app some-new-project
。
由于devtool是针对初学者的,因此如果用户不必首先安装Node.js,那就太好了。鉴于Electron应用程序是基于Node构建的,我想知道在运行这些命令时是否可以使用它。
我已经做过一些研究,并且当Electron Helper
设置为ELECTRON_RUN_AS_NODE
且路径为{{1时,true
可以用作独立的Node客户端。 }}可以通过Electron Helper
在应用内发现。
我下载了Yarn的独立副本(因为我不知道如何访问NPM),并且我正在尝试运行以下命令:
process.execPath
使用电子节点和独立的纱线,它看起来像:
yarn create react-app [some-project-name]
这会崩溃,并显示以下错误:
/Users/me/work/.../MacOS/Guppy\ Helper /Users/me/work/.../app/vendor/yarn-1.10.0.js create react-app hello-world
我猜正在发生的事是env: node: No such file or directory
Exit code: 127
Command: /usr/local/bin/create-react-app
Arguments: /Users/joshuacomeau/guppy-projects/ambitious-storybook
Directory: /
Output: error Command failed
没有被添加到PATH中,因此,当yarn尝试运行节点子流程来运行create-react-app时,它不知道“电子助手”。
我也许可以将node
的符号链接添加到“ Electron Helper`”,然后将该符号链接添加到PATH,但这开始变得非常复杂,而且并不完全跨平台。
有没有更简单的方法?