Пакет cairo не найден в пути поиска pkg-config. Node j.s установить проблему холста

У меня проблема с установкой модуля холста в node .. Кажется, что-то с 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

> [email protected] 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

Я не совсем понимаю, что все это значит! Был бы признателен за любую помощь! Например, как на ПК mkdir cairo в переменной среды pkg_config_path?


person plimbs    schedule 28.02.2014    source источник


Ответы (9)


Была та же проблема, и ссылка на @ Epistemex помогла мне устранить ее. < / сильный>

... Вам необходимо установить пакеты libcairo2-dev, libjpeg-dev и libgif-dev ...

sudo apt-get install libcairo2-dev libjpeg-dev libgif-dev
person HenryHey    schedule 14.05.2014
comment
Мне также понадобился пакет pangocairo, разрешенный с помощью sudo apt-get install libpango1.0-dev - person Adlen Afane; 27.08.2015
comment
Это не будет работать в экземпляре amzon ec2, поскольку они не являются debian? любой знает команду yum для этого - person Max; 18.02.2016
comment
cairo-devel libjpeg-devel и giflib-devel - это пакеты Amazon Linux. @Максимум - person Stephen Reid; 03.05.2016
comment
Комментарий @AdlenAfane действительно актуален для тех, кто хочет установить manim. - person LucasBr; 08.07.2021

Я также столкнулся с той же проблемой на 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
person Piyush Dholariya    schedule 30.12.2014
comment
Оцените детали. Хороший. - person neelmeg; 18.09.2016
comment
Спасибо за указатели с использованием Mac / brew. На Mac, если вы используете macports, у меня это сработало: $ sudo port install cairo $ sudo port install pkgconfig # не уверен, что это обязательно ...: / $ npm install canvas - person DerekC; 27.04.2017

Была такая же проблема в OS X 10.11.2 при установке пакета qrcode.

Решено установкой вот этих:

brew install cairo
brew install pkg-config
xcode-select --install
person Alexander Danilov    schedule 15.01.2016
comment
В моем случае достаточно brew install cairo (macOS Sierra 10.12.1) - person sakisk; 28.11.2016
comment
с новой установкой macOS Sierra 10.12 (восстановленная) brew install cairo должно быть достаточно, только что подтверждено. - person Kulbear; 13.01.2017
comment
похоже, brew install cairo тоже автоматически установит pkg-config - person jacoballenwood; 23.05.2017

Если у кого-то все еще есть эта проблема и он нашел эту страницу, для CentOS 6.6 работает следующее:

sudo yum install cairo cairo-devel

В основном решение состоит в том, что вам нужно установить пакет разработки, а также обычный пакет (лучший ответ здесь делает то же самое - за исключением Ubuntu - каждый дистрибутив может быть другим).

person Ryan M    schedule 15.04.2015

Я выполнил шаги, данные @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

person Yasith Prabuddhaka    schedule 22.05.2019

Принятый ответ вполне подойдет, если вы используете apt-get. Для пользователей YUM / DNF (Fedora, CentOS, другие системы, подобные RHEL), используйте следующие

yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel
person Clay    schedule 10.10.2018

Когда я столкнулся с этой проблемой, проблема заключалась в том, что версия 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

Решением было удалить запись eval "$(chef shell-init bash)" из моего профиля bash.

Более подробное обсуждение проблемы генерации пути chefdk на Github https://github.com/chef/chef-dk/issues/313

person Brian Skarda    schedule 01.02.2018

Мне просто нужно было установить pkg-config на OSX 10.10.4

brew install pkg-config

person Fush    schedule 18.09.2015