在 pkg-config 搜索路径中没有找到 cairo 包

在节点中安装画布模块时遇到问题。.好像是开罗的问题,我得到了这个错误..。

npm http GET https://registry.npmjs.org/canvas
npm http 304 https://registry.npmjs.org/canvas
npm http GET https://registry.npmjs.org/nan
npm http 304 https://registry.npmjs.org/nan


> canvas@1.1.3 install /Users/plimb/Desktop/motion-therapy/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_cairo_freetype.sh' returned exit status 0. 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/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:424:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Darwin 13.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/plimb/Desktop/motion-therapy/node_modules/canvas
gyp ERR! node -v v0.10.21
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok
npm ERR! weird error 1
npm ERR! not ok code 0

我不知道这意味着什么!如果你能帮忙,我会很感激的!例如,如何在 pkg _ config _ path 环境变量中使用 mkdir cairo pc?

83954 次浏览

有同样的问题和 @ Epistemex 的链接帮助我解决了这个问题。

... 你需要安装 libcairo2-devlibjpeg-devlibgif-dev软件包..。

sudo apt-get install libcairo2-dev libjpeg-dev libgif-dev

我在 Mac 上也遇到了同样的问题 所以我尝试了这些步骤,我得到了解决方案

Mac OSX Version > = 10.7.5 Node-v = v0.8.12

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

如果返回1,则需要设置 PKG _ CONFIG _ PATH 环境变量,这样才能找到 cairo.pc 和 fontconfig.pc

$ locate cairo.pc
$ export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig/

再次运行 pkg-config..。

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


$ echo $?

如果它返回一个0,那么一切都很好。

$ npm install canvas

如果任何人仍然有这个问题,并找到这个页面,以下工程 CentOS 6.6:

sudo yum install cairo cairo-devel

基本上,解决方案是你需要安装开发包以及常规包(这里最好的答案是做同样的事情-除了是 Ubuntu-每个发行版可以不同)。

我只需要在 OSX 10.10.4上安装 pkg-config

brew install pkg-config

在 OS X 10.11.2上安装 qrcode包时遇到了同样的问题。

通过安装以下软件解决了这个问题:

brew install cairo
brew install pkg-config
xcode-select --install

当我遇到这个问题时,问题是我路径上的 pkg-config版本是由 chefdk 提供的版本,而不是自制安装的版本。

$ which pkg-config
/usr/local/bin/pkg-config


$ eval "$(chef shell-init bash)"
$ which pkg-config
/opt/chefdk/embedded/bin/pkg-config

解决方案是从 bash 配置文件中删除 eval "$(chef shell-init bash)"条目。

在 Github https://github.com/chef/chef-dk/issues/313上对 chefdk 路径生成问题的进一步讨论

如果使用 apt-get,那么可以接受的答案就很好。对于 YUM/DNF 用户(Fedora、 CentOS 和其他类似 RHEL 的系统) ,请使用以下命令

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

我按照@Piyush 给的步骤走。但我需要额外的一步来让它运作。我用的是 OS X 10.14.5

这就是我跟踪的东西。

brew install pkg-config
brew install cairo
pkg-config --atleast-version=1.12.2 cairo
export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig/
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/local/opt/libffi/lib/pkgconfig"
npm install canvas

对于 Ubuntu 来说,这些是命令,这是 参考文献

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

在 Mac 上试试这个:

brew install pkg-config cairo pango libpng jpeg giflib