我正在尝试使用 React JS 创建一个具有按键通话 (PTT) 功能的 Web 应用程序。 我们将使用的技术之一是 Mumble。
此 https://github.com/Johni0702/mumble-web 存储库上的演示 https://voice.johni0702.de/?address=voice.johni0702.de&port=443/demo 工作正常。 我尝试在本地计算机上运行存储库,但遇到了一些不同的错误。
我在运行 Windows 操作系统和 Node JS v16 的本地计算机上使用 npm install
命令克隆并尝试在存储库的根文件夹中安装所有库,但出现以下错误。
verbose stack Error: command failed verbose stack at ChildProcess.<anonymous> (C:\Users\LENOVO\AppData\Roaming\nvm\v16.18.0\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:63:27) verbose stack at ChildProcess.emit (node:events:513:28) verbose stack at maybeClose (node:internal/child_process:1100:16) verbose stack at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5) verbose pkgid [email protected] verbose cwd C:\Users\LENOVO\AppData\Local\npm-cache\_cacache\tmp\git-cloneZtPlJ2 verbose Windows_NT 10.0.22621 verbose node v16.18.0 verbose npm v8.19.2 error code 1 error path C:\Users\LENOVO\AppData\Local\npm-cache\_cacache\tmp\git-cloneZtPlJ2 error command failed error command C:\WINDOWS\system32\cmd.exe /d /s /c npm run compile verbose exit 1 timing npm Completed in 8638ms verbose code 1
然后我使用 NVM 将 Node JS 版本从 v16 切换到 v14。
我尝试再次使用 npm install
命令安装存储库上的所有库,但随后出现另一个不同的错误。
verbose stack Error: [email protected] prepare: `rm -rf dist && npm run build` verbose stack Exit status 1 verbose stack at EventEmitter.<anonymous> (C:\Users\LENOVO\AppData\Roaming\nvm\v14.21.2\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16) verbose stack at EventEmitter.emit (events.js:400:28) verbose stack at ChildProcess.<anonymous> (C:\Users\LENOVO\AppData\Roaming\nvm\v14.21.2\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) verbose stack at ChildProcess.emit (events.js:400:28) verbose stack at maybeClose (internal/child_process.js:1088:16) verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:296:5) verbose pkgid [email protected] verbose cwd D:\A.ing\Works\Others\Lacak-and-Valid\Exercises\React-Js\mumble-web-2 verbose Windows_NT 10.0.22621 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "i" verbose node v14.21.2 verbose npm v6.14.17 error code ELIFECYCLE error errno 1 error [email protected] prepare: `rm -rf dist && npm run build` error Exit status 1 error Failed at the [email protected] prepare script. error This is probably not a problem with npm. There is likely additional logging output above. verbose exit [ 1, true ]
我尝试删除 package.json 文件中的 "prepare": "rm -rf dist && npm run build",
代码(第 45 行)。
我不知道删除代码是否会对以后运行应用程序产生影响。
我还在网上搜索并找到了这个答案https://stackoverflow.com/a/62744648/8339172来清除npm缓存,重新生成package-lock.json文件,并删除node_modules文件夹。
我完成了所有这些,然后再次运行“npm install”命令。
这次没有错误。
继续上一节,我尝试通过运行 npm run watch
命令来运行存储库的根目录。
我不知道这是否正确,因为我通常输入 npm start
命令在本地运行 React JS。
我没有看到 package.json 文件上配置任何端口,因此我在浏览器上打开了 localhost:8080
地址。
不幸的是,那里什么也没有。浏览器说这个网站无法访问。本地主机拒绝连接.
继续上一节,我尝试通过双击 app
文件夹中的 index.html 文件来运行该文件。
该应用程序似乎崩溃了,因为我看到浏览器控制台上出现错误,如下面的屏幕截图所示。
这是错误消息:
Uncaught SyntaxError: Cannot use import statement outside a module (at index.js:1:1)
我想了解如何在存储库 https://github.com/Johni0702/mumble 上创建演示 (https://voice.johni0702.de/?address=voice.johni0702.de&port=443/demo) -网络。我的问题是:
操作系统:Windows 11
节点:14.21.2、16.18.0和18.13.0(可切换)
最后,我可以在我的计算机上运行该应用程序(根级别)。
从安装错误部分,我们可以看到这个错误
verbose stack Error: m<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ec99818e8089c19b898eacdcc2d9c2dd">[ email protected]</a> 准备:`rm -rf dist && npm run build`
当基于 Windows 的计算机尝试运行基于 Unix 的命令时发生。 Windows 计算机上没有rm
命令。因此,我尝试在 Windows 计算机上安装 WSL https://techcommunity.microsoft.com/t5/windows-11/how-to-install-the-linux-windows-subsystem-in- windows-11/td-p/2701207。
在努力安装 WSL 后,我可以在应用程序上运行
npm install
命令,并且没有出现错误消息。但后来我不知道如何运行该应用程序。幸运的是,我们找到了另一个类似的存储库,其中包含
start
脚本 https://github.com/Theofilos -Chamalis/mumble-web。使用npm install
和npm start
,我终于可以运行前端应用程序的 mumble 实现。注意:来自 https://github.com/Theofilos-Chamalis/mumble 的应用程序-web 没有像 https://github.com/Johni0702/mumble-web 那样更新 一个,但我认为这是这个问题的另一个问题。