问题
报错信息:
In file included from ../../nan/nan.h:288:0,
from ../src/:2:
../../nan/nan_new.h:239:47: note: called from here
return imp::Factory<T>::New(callback, data);
^
../src/mouse.c:12:11: fatal error: X11/extensions/XTest.h: 没有那个文件或目录
#include <X11/extensions/XTest.h>
^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Release/obj.target/robotjs/src/mouse.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 5.4.0-42-generic
gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/liu/project/boom-meet-electron/node_modules/robotjs
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! robotjs@0.6.0 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the robotjs@0.6.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/liu/.npm/_logs/2020-08-16T12_16_12_241Z-debug.log
解决
原因是缺少必要的工具库,解决方法是安装xorg-dev工具。
运行如下命令:
sudo apt-get install xorg-dev
输出如下信息表示安装成功:
正在解包 libxxf86vm-dev:amd64 (1:1.1.4-1) ...
正在选中未选择的软件包 mesa-common-dev:amd64。
正准备解包 .../55-mesa-common-dev_20.0.8-0ubuntu1~18.04.1_amd64.deb ...
正在解包 mesa-common-dev:amd64 (20.0.8-0ubuntu1~18.04.1) ...
正在选中未选择的软件包 libpciaccess-dev:amd64。
正准备解包 .../56-libpciaccess-dev_0.14-1_amd64.deb ...
正在解包 libpciaccess-dev:amd64 (0.14-1) ...
正在选中未选择的软件包 xserver-xorg-dev-hwe-18.04。
正准备解包 .../57-xserver-xorg-dev-hwe-18.04_2%3a1.20.8-2ubuntu2.2~18.04.1_amd64.deb ...
正在解包 xserver-xorg-dev-hwe-18.04 (2:1.20.8-2ubuntu2.2~18.04.1) ...
正在选中未选择的软件包 xorg-dev。
正准备解包 .../58-xorg-dev_1%3a7.7+19ubuntu7.1_all.deb ...
正在解包 xorg-dev (1:7.7+19ubuntu7.1) ...
正在设置 x11proto-fonts-dev (2018.4-4) ...
正在设置 libpciaccess-dev:amd64 (0.14-1) ...
正在设置 libpng-tools (1.6.34-1ubuntu0.18.04.2) ...
正在设置 libxpm-dev:amd64 (1:3.5.12-1) ...
正在设置 libdrm-dev:amd64 (2.4.101-2~18.04.1) ...
正在设置 libxmu-headers (2:1.1.2-2) ...
正在设置 x11proto-fixes-dev (1:2018.4-4) ...
正在设置 libxrender-dev:amd64 (1:0.9.10-1) ...
正在设置 x11proto-xf86vidmode-dev (2018.4-4) ...
正在设置 libxkbfile-dev:amd64 (1:1.0.9-2) ...
正在设置 libxmuu-dev:amd64 (2:1.1.2-2) ...
正在设置 x11proto-record-dev (2018.4-4) ...
正在设置 x11proto-damage-dev (1:2018.4-4) ...
正在设置 pkg-config (0.29.1-0ubuntu2) ...
正在设置 x11proto-xext-dev (2018.4-4) ...
正在设置 x11proto-xinerama-dev (2018.4-4) ...
正在设置 libpixman-1-dev:amd64 (0.34.0-2) ...
正在设置 libice-dev:amd64 (2:1.0.9-2) ...
正在设置 libxext-dev:amd64 (2:1.3.3-1) ...
正在设置 x11proto-randr-dev (2018.4-4) ...
正在设置 libxinerama-dev:amd64 (2:1.1.3-1) ...
正在设置 libxv-dev:amd64 (2:1.0.11-1) ...
正在设置 x11proto-resource-dev (2018.4-4) ...
正在设置 libexpat1-dev:amd64 (2.2.5-3ubuntu0.2) ...
正在设置 x11proto-xf86dga-dev (2018.4-4) ...
正在设置 libfs6:amd64 (2:1.0.7-1) ...
正在设置 libxxf86dga-dev:amd64 (2:1.1.4-1) ...
正在设置 x11proto-scrnsaver-dev (2018.4-4) ...
正在设置 libdmx1:amd64 (1:1.1.3-1) ...
正在设置 x11proto-render-dev (2:2018.4-4) ...
正在设置 libxxf86vm-dev:amd64 (1:1.1.4-1) ...
正在设置 libxfixes-dev:amd64 (1:5.0.3-1) ...
正在设置 x11proto-input-dev (2018.4-4) ...
正在设置 x11proto-composite-dev (1:2018.4-4) ...
正在设置 zlib1g-dev:amd64 (1:1.2.11.dfsg-0ubuntu2) ...
正在设置 libxcursor-dev:amd64 (1:1.1.15-1) ...
正在设置 libsm-dev:amd64 (2:1.2.2-1) ...
正在设置 mesa-common-dev:amd64 (20.0.8-0ubuntu1~18.04.1) ...
正在设置 libxrandr-dev:amd64 (2:1.5.1-1) ...
正在设置 libxcomposite-dev:amd64 (1:0.4.4-2) ...
正在设置 libdmx-dev:amd64 (1:1.1.3-1) ...
正在设置 libxdamage-dev:amd64 (1:1.1.4-3) ...
正在设置 libxvmc-dev:amd64 (2:1.0.10-1) ...
正在设置 libxres-dev (2:1.2.0-2) ...
正在设置 libxss-dev:amd64 (1:1.2.2-1) ...
正在设置 libfontenc-dev:amd64 (1:1.1.3-1) ...
正在设置 libfs-dev:amd64 (2:1.0.7-1) ...
正在设置 libxi-dev:amd64 (2:1.7.9-1) ...
正在设置 libpng-dev:amd64 (1.6.34-1ubuntu0.18.04.2) ...
正在设置 libxt-dev:amd64 (1:1.1.5-1) ...
正在设置 libxmu-dev:amd64 (2:1.1.2-2) ...
正在设置 libxaw7-dev:amd64 (2:1.0.13-1) ...
正在设置 libxtst-dev:amd64 (2:1.2.3-1) ...
正在设置 libfreetype6-dev:amd64 (2.8.1-2ubuntu2) ...
正在设置 libfontconfig1-dev:amd64 (2.12.6-0ubuntu2) ...
正在设置 libxfont-dev (1:2.0.3-1) ...
正在设置 libxft-dev (2.3.2-1) ...
正在设置 xserver-xorg-dev-hwe-18.04 (2:1.20.8-2ubuntu2.2~18.04.1) ...
正在设置 xorg-dev (1:7.7+19ubuntu7.1) ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在处理用于 libc-bin (2.27-3ubuntu1.2) 的触发器 ...