Я пытаюсь создать веб-приложение с использованием React JS, в котором есть функция push-to-talk (PTT). Одной из технологий, которую мы будем использовать, является Mumble.
Демо https://voice.johni0702.de/?address=voice.johni0702.de&port=443/demo в этом https://github.com/Johni0702/mumble-web репозитории работает нормально. Я попытался запустить репозиторий на своем локальном компьютере, но получил несколько других ошибок.
Я клонировал и попытался установить все библиотеки в корневую папку репозитория с помощью команды 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 [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
Затем я переключил версию Node JS с помощью NVM с 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 ]
Я попытался удалить код "prepare": "rm -rf dist && npm run build",
(строка 45) в файле package.json.
Я не знал, повлияет ли удаление кода на запуск приложения позже или нет.
Я также искал в Интернете и нашел этот ответ, чтобы очистить кеш npm, восстановить файл package-lock.json и удалить папку node_modules.
Я сделал их все, затем снова запустил команду «npm install».
На этот раз ошибки не было.
Продолжая предыдущий раздел, я попытался запустить корень репозитория, выполнив команду npm run watch
.
Я не знал, правильно это или нет, потому что я обычно ввожу команду npm start
для локального запуска React JS.
Я не видел ни одного порта, настроенного в файле package.json, поэтому я открыл адрес localhost:8080
в своем браузере.
К сожалению, там ничего не было. Браузер сказал This site can’t be reached. localhost refused to connect.
Продолжая предыдущий раздел, я попытался запустить файл index.html в папке app
, дважды щелкнув файл.
Мне показалось, что приложение вышло из строя, потому что я увидел ошибку в консоли браузера, как показано на этом снимке экрана ниже.
Вот сообщение об ошибке:
Uncaught SyntaxError: Cannot use import statement outside a module (at index.js:1:1)
Я хочу научиться создавать демо (https://voice.johni0702.de/?address=voice.johni0702.de&port=443/demo ) на репозитории https://github.com/Johni0702 /мамбл-паутина. Мои вопросы:
ОС: Windows 11
Узел: 14.21.2, 16.18.0 и 18.13.0 (переключаемый)
Наконец, я смог запустить приложение (корневой уровень) на своем компьютере.
Из раздела об ошибках установки мы могли видеть, что эта ошибка verbose stack Error: [email protected] prepare: `rm -rf dist && npm run build`
произошла, когда компьютер под управлением Windows попытался запустить команду на основе Unix. На компьютере с Windows нет команды rm
.
Поэтому я попытался установить WSL на свой компьютер с Windows 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, но я думаю, что это еще одна проблема из этого вопроса.