云计算百科
云计算领域专业知识百科平台

服务器安装 canvas 模块失败解决方案

服务器安装 canvas 模块失败解决方案

code 1
npm error path /root/xinhao/node_modules/canvas
npm error command failed
npm error command sh -c prebuild-install -r napi || node-gyp rebuild
npm error prebuild-install warn install aborted
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@11.0.0
npm error gyp info using node@22.14.0 | linux | x64
npm error gyp info find Python using Python version 3.12.3 found at "/usr/bin/python3"
npm error gyp info spawn /usr/bin/python3
npm error gyp info spawn args [
npm error gyp info spawn args '/root/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/root/xinhao/node_modules/canvas/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/root/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/root/.cache/node-gyp/22.14.0/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/root/.cache/node-gyp/22.14.0',
npm error gyp info spawn args '-Dnode_gyp_dir=/root/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/22.14.0/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/root/xinhao/node_modules/canvas',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '–depth=.',
npm error gyp info spawn args '–no-parallel',
npm error gyp info spawn args '–generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error Package cairo was not found in the pkg-config search path.
npm error Perhaps you should add the directory containing `cairo.pc'
npm error to the PKG_CONFIG_PATH environment variable
npm error Package 'cairo', required by 'virtual:world', not found
npm error gyp: Call to 'pkg-config cairo –libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
npm error gyp ERR! configure error
npm error gyp ERR! stack Error: `gyp` failed with exit code: 1
npm error gyp ERR! stack at ChildProcess.<anonymous> (/root/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:317:18)
npm error gyp ERR! stack at ChildProcess.emit (node:events:518:28)
npm error gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm error gyp ERR! System Linux 6.8.0-45-generic
npm error gyp ERR! command "/root/.nvm/versions/node/v22.14.0/bin/node" "/root/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm error gyp ERR! cwd /root/xinhao/node_modules/canvas
npm error gyp ERR! node -v v22.14.0
npm error gyp ERR! node-gyp -v v11.0.0
npm error gyp ERR! not ok

canvas 模块在安装时编译失败,问题的根源在于系统缺少 cairo 库及其开发文件,pkg-config 无法找到 cairo.pc 文件。下面为你介绍解决此问题的具体步骤:

1. 安装 cairo 库及其依赖项

在基于 Debian 或 Ubuntu 的系统上,你可以借助以下命令来安装 cairo 库及其依赖项:

sudo apt-get update
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

在基于 Red Hat 或 CentOS 的系统上,可使用如下命令:

sudo yum groupinstall "Development Tools"
sudo yum install cairo-devel pango-devel libjpeg-devel giflib-devel librsvg2-devel

2. 重新安装 canvas 模块

在安装好 cairo 库及其依赖项之后,你可以尝试重新安装 canvas 模块:

rm -rf node_modules/canvas
npm install canvas

3. 检查 PKG_CONFIG_PATH 环境变量

如果上述步骤执行后仍然存在问题,你可以检查 PKG_CONFIG_PATH 环境变量是否正确设置。你可以通过以下命令来查看当前的 PKG_CONFIG_PATH:

echo $PKG_CONFIG_PATH

若 PKG_CONFIG_PATH 未设置或者没有包含 cairo.pc 文件所在的目录,你可以临时设置该环境变量:

export PKG_CONFIG_PATH=/path/to/cairo.pc/directory:$PKG_CONFIG_PATH

把 /path/to/cairo.pc/directory 替换成 cairo.pc 文件实际所在的目录。

若你希望永久设置该环境变量,可以将上述命令添加到你的 shell 配置文件(如 .bashrc 或 .zshrc)中:

echo 'export PKG_CONFIG_PATH=/path/to/cairo.pc/directory:$PKG_CONFIG_PATH' >> ~/.bashrc
source ~/.bashrc

按照以上步骤操作,你应该能够成功安装 canvas 模块。若问题依旧存在,建议检查系统日志或 npm 安装日志,以获取更多详细信息。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 服务器安装 canvas 模块失败解决方案
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!