我正在尝试使用React JS创建一个Web应用程序,它具有一键通(PTT)功能,我们将使用的技术之一是Mumble。
这个https://github.com/Johni0702/mumble-web仓库上的https://voice.johni0702.de/?address=voice.johni0702.de&port=443/demo演示运行得很好。我试图在我的本地计算机上运行仓库,但得到了一些不同的错误。
安装错误
我克隆并尝试使用npm install
命令将所有库安装在存储库的根文件夹上,但在安装了Windows操作系统和Node JS v16的本地计算机上出现了以下错误。
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 mumble-client-websocket@1.0.0
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: mumble-web@0.5.1 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 mumble-web@0.5.1
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 mumble-web@0.5.1 prepare: `rm -rf dist && npm run build`
error Exit status 1
error Failed at the mumble-web@0.5.1 prepare script.
error This is probably not a problem with npm. There is likely additional logging output above.
verbose exit [ 1, true ]
我尝试删除"prepare": "rm -rf dist && npm run build",
代码(第45行),我不知道删除代码是否会对以后运行应用程序产生影响,我还在互联网上搜索了一下,找到了这个答案https://stackoverflow.com/a/62744648/8339172,用于清除npm缓存,重新生成package-lock.json文件,并删除node_modules文件夹。我做了所有这些,然后我再次运行“npm安装”命令。
这一次,没有任何错误。
运行时错误
继续上一节,我尝试通过运行npm run watch
命令来运行存储库的根目录。我不知道这是否正确,因为我通常输入npm start
命令来本地运行React JS。我没有看到package.json文件上配置的任何端口,所以我在浏览器上打开了localhost:8080
地址。不幸的是,什么都没有浏览器显示This site can’t be reached. localhost refused to connect.
应用程序文件夹
继续上一节,我尝试通过双击文件运行app
文件夹中的index.html文件。应用程序似乎崩溃了,因为我在浏览器控制台上看到了一个错误,如下面的截图所示。x1c 0d1x以下是错误消息:
Uncaught SyntaxError: Cannot use import statement outside a module (at index.js:1:1)
问题
我想学习如何在存储库https://github.com/Johni0702/mumble-web上创建演示(https://voice.johni0702.de/?address=voice.johni0702.de&port=443/demo)。
1.哪个是演示应用的源代码?是来自存储库的根文件夹还是应用文件夹?
1.继续第一个问题,如何在本地安装演示应用程序所需的所有依赖项?
1.继续第一个和第二个问题,如何在本地运行演示应用程序?
环境
操作系统:Windows 11
节点:14.21.2、16.18.0和18.13.0(可切换)
1条答案
按热度按时间thtygnil1#
最后,我可以在我的电脑上运行应用程序(根级别)。
从安装错误部分,我们可以看到这个错误
verbose stack Error: mumble-web@0.5.1 prepare:
rm -rf dist && npm run build``发生在基于Windows的计算机试图运行基于Unix的命令时,Windows计算机上没有rm
命令。所以我试着在我的Windows计算机https://techcommunity.microsoft.com/t5/windows-11/how-to-install-the-linux-windows-subsystem-in-windows-11/td-p/2701207上安装WSL。
在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那样更新,但我认为这是这个问题的另一个问题。