在CentOS 7上安装node-canvas"在pkg-config搜索路径中找不到包cairo"

时间:2017-09-29 13:05:24

标签: node.js centos centos7 cairo node-canvas

我对在CentOS 7上安装node-canvas感到困惑。

根据建议,我按照安装说明执行了以下命令:

sudo yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel

之后我尝试用

安装画布
npm install canvas

我还尝试了其他选项,如-g和--save,但总是得到同样的错误:

> canvas@1.6.7 install /root/node_modules/canvas
> node-gyp rebuild

Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo' found
gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while 
in binding.gggyp: Call to './util/has_lib.sh freetype' returned exit 
status 0 while in binding.ggyp: Call to './util/has_lib.sh freetype' 
returned exit status 0 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 
(/opt/bitnami/nodejs/lib/node_modules/npm/node_modules/node-
gyp/lib/configure.js:336:16)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit 
(internal/child_process.js:200:12)
gyp ERR! System Linux 3.10.0-693.2.2.el7.x86_64
gyp ERR! command "/opt/bitnami/nodejs/bin/.node.bin" 
"/opt/bitnami/nodejs/lib/node_modules/npm/node_modules/node-
gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/node_modules/canvas
gyp ERR! node -v v8.5.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
npm WARN root@1.0.0 No description
npm WARN root@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! canvas@1.6.7 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the canvas@1.6.7 install script.
npm ERR! This is probably not a problem with npm. There is likely 
additional logging output above.

我知道,这个问题已经发布了f.e. here

所以我尝试将cairo.pc添加到pkg-config搜索路径

[root@localhost ~]# find / -name cairo.pc
 /usr/lib64/pkgconfig/cairo.pc
[root@localhost ~]# export PKG_CONFIG_PATH=/usr/lib64/pkgconfig
[root@localhost ~]# echo $PKG_CONFIG_PATH
 /usr/lib64/pkgconfig

但我仍然遇到同样的错误

另外

pkg-config --atleast-version=1.12.2 cairo
echo $?

仍然会返回1.

0 个答案:

没有答案