ChatGPT解决这个技术问题 Extra ChatGPT

在 pkg-config 搜索路径中找不到包 cairo。 Node js安装画布问题

我在节点中安装 canvas 模块时遇到问题。这似乎是 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?

啊,谢谢肯,我跟着这个,但现在我有这个错误 CXX(target) Release/obj.target/canvas/src/Canvas.o In file included from ../src/Canvas.cc:7: ../src/ Canvas.h:19:10:致命错误:找不到“cairo/cairo.h”文件#include

J
Jossef Harush Kadouri

遇到了同样的问题,@Epistemex 的 link 帮助我解决了问题。

... 您需要安装 libcairo2-dev、libjpeg-dev 和 libgif-dev 软件包...

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

我还需要 pangocairo 包,通过 sudo apt-get install libpango1.0-dev 解决
这在 amzon ec2 实例中不起作用,因为它们不是 debian?任何人都知道 yum 命令
cairo-devel libjpeg-develgiflib-devel 是 Amazon Linux 软件包。 @最大限度
@AdlenAfane 评论对于那些想要安装 manim 的人来说真的很重要。
D
Dr. Piyush Dholariya

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

Mac OSX 版本 >=10.7.5 节点 -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

欣赏细节。好一个。
感谢使用 Mac/brew 的指针。在 Mac 上,如果您使用 macports,这对我有用: $ sudo port install cairo $ sudo port install pkgconfig # 不确定这个是强制性的... :/ $ npm install canvas
A
Alexander Danilov

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

通过安装这些解决:

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

在我的情况下,只有 brew install cairo 就足够了(macOS Sierra 10.12.1)
全新安装 macOS Sierra 10.12(已恢复),brew install cairo 应该足够了,刚刚确认。
看起来 brew install cairo 也会自动安装 pkg-config
R
Ryan M

如果有人仍然遇到此问题并找到此页面,则以下适用于 CentOS 6.6:

sudo yum install cairo cairo-devel

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


Y
Yasith Prabuddhaka

我按照@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 安装画布


C
Clay

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

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

S
Shahar Ben Ezra

对于 Ubuntu,这些是命令。另外,这里是 reference

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

B
Brian Skarda

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

$ 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 路径生成问题的更多讨论


A
Achint Sharma

在 mac 上试试这个:

brew install pkg-config cairo pango libpng jpeg giflib

F
Fush

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

brew install pkg-config