reactjs - 使用 jitsi-meet-electron repo 安装 Electron

标签 reactjs electron desktop-application yarnpkg jitsi

我已经从 https://github.com/jitsi/jitsi-meet-electron.git 下载了用于构建桌面应用程序的 jitsi-meet-electron 存储库
现在,当我尝试使用 yarn 安装 Electron 时,出现以下错误。我认为问题出在 robotsjs 模块上。另外,对于 python 版本 - 显示的日志是 'gyp info find Python using Python version 2.7。 12 在“/usr/bin/python”中找到'

k@k-Lenovo-G50-70:~/17_2_21/jitsi-meet-electron$ yarn add electron
yarn add v1.22.10
warning ../package.json: No license field
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
warning electron-packager > electron-download > nugget > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning electron-packager > asar > mksnapshot > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning electron-packager > electron-download > nugget > request > har-validator@5.1.5: this library is no longer supported
warning electron-rebuild > node-gyp > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning eslint > file-entry-cache > flat-cache > circular-json@0.3.3: CircularJSON is in maintenance only, flatted is its successor.
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[1/6] ⡀ robotjs
[-/6] ⡀ waiting...
[-/6] ⡀ waiting...
[-/6] ⡀ waiting...
error /home/k/17_2_21/jitsi-meet-electron/node_modules/robotjs: Command failed.
Exit code: 1
Command: prebuild-install || node-gyp rebuild
Arguments: 
Directory: /home/k/17_2_21/jitsi-meet-electron/node_modules/robotjs
Output:
prebuild-install WARN install No prebuilt binaries found (target=14.15.4 runtime=node arch=x64 libc= platform=linux)
gyp info it worked if it ends with ok
gyp info using node-gyp@5.1.0
gyp info using node@14.15.4 | linux | x64
gyp info find Python using Python version 2.7.12 found at "/usr/bin/python"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/k/17_2_21/jitsi-meet-electron/node_modules/robotjs/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/k/.cache/node-gyp/14.15.4/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/k/.cache/node-gyp/14.15.4',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/k/.cache/node-gyp/14.15.4/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/k/17_2_21/jitsi-meet-electron/node_modules/robotjs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/k/17_2_21/jitsi-meet-electron/node_modules/robotjs/build'
  CXX(target) Release/obj.target/robotjs/src/robotjs.o
cc1plus: warning: command line option ‘-Wbad-function-cast’ is valid for C/ObjC but not for C++
In file included from ../src/keypress.h:6:0,
                 from ../src/robotjs.cc:7:
../src/keycode.h:112:23: fatal error: X11/Xutil.h: No such file or directory
compilation terminated.
robotjs.target.mk:130: recipe for target 'Release/obj.target/robotjs/src/robotjs.o' failed
make: Leaving directory '/home/k/17_2_21/jitsi-meet-electron/node_modules/robotjs/build'
make: *** [Release/obj.target/robotjs/src/robotjs.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 4.15.0-133-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/k/17_2_21/jitsi-meet-electron/node_modules/robotjs



我找到了出路。以下是步骤:
k@k-Lenovo-G50-70:~/26_2_21/ti$ git clone https://github.com/jitsi/jitsi-meet-electron.git

k@k-Lenovo-G50-70:~/26_2_21/ti$ ls
jitsi-meet-electron
k@k-Lenovo-G50-70:~/26_2_21/ti$ cd jitsi-meet-electron



https://github.com/jitsi/jitsi-meet-electron-utils

NOTE: For Linux install libxtst-dev and libpng++-dev (sudo apt-get install libxtst-dev libpng++-dev). This dependancies are related to RobotJS which is a dependency of jitsi-meet-electron-utils. You can see the build instructions for RobotJS here

k@k-Lenovo-G50-70:~/26_2_21/ti/jitsi-meet-electron$ sudo apt-get install libxtst-dev libpng++-dev

k@k-Lenovo-G50-70:~/26_2_21/ti/jitsi-meet-electron$ npm install
Finally, for the desktop app to run, 
k@k-Lenovo-G50-70:~/17_2_21/repos/a_21_2_21$ npm start

jitsi-meet-electron@2.4.2 start /home/k/17_2_21/repos/a_21_2_21 webpack --config ./webpack.main.js --mode development && concurrently "npm:watch" "electron ./build/main.js"

最佳答案

我找到了出路。以下是步骤:

k@k-Lenovo-G50-70:~/26_2_21/ti$ git clone https://github.com/jitsi/jitsi-meet-electron.git

k@k-Lenovo-G50-70:~/26_2_21/ti$ ls
jitsi-meet-electron
k@k-Lenovo-G50-70:~/26_2_21/ti$ cd jitsi-meet-electron
安装附加依赖的引用链接是:
https://github.com/jitsi/jitsi-meet-electron-utils
该链接提到了要安装的以下软件包。
注意:对于 Linux,安装 libxtst-dev 和 libpng++-dev (sudo apt-get install libxtst-dev libpng++-dev)。这种依赖关系与 RobotJS 有关,它是 jitsi-meet-electron-utils 的依赖项。您可以在此处查看 RobotJS 的构建说明
k@k-Lenovo-G50-70:~/26_2_21/ti/jitsi-meet-electron$ sudo apt-get install libxtst-dev libpng++-dev

k@k-Lenovo-G50-70:~/26_2_21/ti/jitsi-meet-electron$ npm install
最后,要运行桌面应用程序,
k@k-Lenovo-G50-70:~/17_2_21/repos/a_21_2_21$ npm start

jitsi-meet-electron@2.4.2 start /home/k/17_2_21/repos/a_21_2_21 webpack --config ./webpack.main.js --mode development && concurrently "npm:watch" "electron ./build/main.js"

关于reactjs - 使用 jitsi-meet-electron repo 安装 Electron ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66290980/

相关文章:

windows - pidgin "buddy list"窗口的行为名称是什么?

java - 需要 SWT 通知动画框(又名 toastr )

c# - .gif 中的动画未显示在 Windows 窗体中

reactjs - React Redux 调度函数 : Expected 0 arguments, 但得到 1 TS2554

javascript - onPress 未检测到 React Native 中可触摸不透明度的属性

javascript - React + Electron 如何打印 HTML?

javascript - 为什么我需要让我的 Electron 窗口比我的 Canvas 大?

reactjs - 如何动态添加更多组件 React Native

javascript - 如何使用带样式的组件来设置组件打印的样式?

node.js - 如何使用PouchDB(leveldb)将我的 Electron 应用程序与Cloudant或其他任何支持CouchDB并同步的数据库进行连接