【发布时间】:2021-01-18 18:52:54
【问题描述】:
您好,我想为 discord.js 机器人安装画布。 当我尝试使用以下命令安装画布时
npm install canvas
我收到以下错误:
pi@server:~/Bots/Discord/Java $ npm install canvas
> canvas@2.6.1 install /home/pi/Bots/Discord/Java/node_modules/canvas
> node-pre-gyp install --fallback-to-build
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v72-linux-glibc-arm.tar.gz
node-pre-gyp WARN Pre-built binaries not found for canvas@2.6.1 and node@12.18.4 (node-v72 ABI, glibc) (falling back to source compile with node-gyp)
Package pixman-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `pixman-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pixman-1' found
gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.51-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/home/pi/Bots/Discord/Java/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/home/pi/Bots/Discord/Java/node_modules/canvas/build/Release" "--napi_version=6" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v72"
gyp ERR! cwd /home/pi/Bots/Discord/Java/node_modules/canvas
gyp ERR! node -v v12.18.4
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/home/pi/Bots/Discord/Java/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/home/pi/Bots/Discord/Java/node_modules/canvas/build/Release --napi_version=6 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/home/pi/Bots/Discord/Java/node_modules/canvas/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:315:20)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1021:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
node-pre-gyp ERR! System Linux 5.4.51-v7+
node-pre-gyp ERR! command "/usr/bin/node" "/home/pi/Bots/Discord/Java/node_modules/canvas/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /home/pi/Bots/Discord/Java/node_modules/canvas
node-pre-gyp ERR! node -v v12.18.4
node-pre-gyp ERR! node-pre-gyp -v v0.11.0
node-pre-gyp ERR! not ok
Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/home/pi/Bots/Discord/Java/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/home/pi/Bots/Discord/Java/node_modules/canvas/build/Release --napi_version=6 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
npm WARN java@1.0.0 No description
npm WARN java@1.0.0 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! canvas@2.6.1 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the canvas@2.6.1 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/pi/.npm/_logs/2020-10-03T09_17_54_892Z-debug.log
有人知道我为什么会收到此错误吗? 我在 Raspberry pi 3B 上使用 Node 12.18.4
感谢您的回答 Tjum28 :)
【问题讨论】:
-
这种情况只发生在
canvas包上吗? -
我也通过 npm 安装了 discord.js
-
那么,如果你成功安装了
discord.js,我想可能是因为canvas包。正如您在错误中看到的,它正在尝试下载 this,这会返回 404(未找到)错误。 -
你知道它为什么会失败或者你有其他方法来安装画布吗?
标签: canvas discord.js npm-install