Пакет cairo не знайдено у шляху пошуку pkg-config. Вузол js встановити випуск полотна


101

У мене виникають проблеми з установкою модуля полотна у вузлі. Здається, це щось із Каїром, я отримую цю помилку ...

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

Я не впевнений, що це все означає! Наприклад, як зробити mkdir cairo pc у змінній середовища pkg_config_path?


Дізнайтеся, чи це допомагає: github.com/LearnBoost/node-canvas/isissue/225

а, дякую, я дотримувався цього, але тепер у мене є ця помилка Canvas.h: 19: 10: фатальна помилка: файл 'cairo / cairo.h' не знайдено #include <cairo / cairo.h>
plimbs

Відповіді:


135

Була така ж проблема, і посилання @ Epistemex допомогло мені усунути її.

... Вам потрібно встановити libcairo2-dev, libjpeg-devі libgif-devпакети ...

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

5
Мені також знадобився пакет пангокаїру, вирішений зsudo apt-get install libpango1.0-dev
Адлен Афан

Ця робота не працює в екземплярі amzon ec2, оскільки вони не debian? хто-небудь знає yum команду для цього
Макс

5
cairo-devel libjpeg-develі giflib-develє пакетами Amazon Linux. @Max
Стівен Рід

68

Я також стикався з тією ж проблемою на 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

1
Вдячні за деталі. Хороший.
neelmeg

1
Дякуємо за покажчики, які використовують Mac / brew. На Mac, якщо ви користуєтеся macports, це працювало для мене: $ sudo port встановити cairo $ sudo порт встановити pkgconfig # не впевнений, що цей обов'язковий ...: / $ npm встановити полотно
DerekC

32

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

Вирішено шляхом встановлення цих:

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

4
brew install cairoУ моєму випадку вистачило лише (macOS Sierra 10.12.1)
sakisk

1
з абсолютно новою установкою macOS Sierra 10.12 (відновлено), brew install cairoмає бути достатньо, лише підтверджено.
Кульбер

2
схоже, brew install cairoавтоматично встановити pkg-configтакож
jacoballenwood

14

Якщо хтось все ще має цю проблему і знайшов цю сторінку, для CentOS 6.6 працює наступне:

sudo yum install cairo cairo-devel

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


5

Я дотримувався кроків, поданих @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


3

Прийнята відповідь прекрасна, якщо ви використовуєте apt-get. Для користувачів YUM / DNF (Fedora, CentOS, інші системи, подібні до RHEL) використовуйте наступне

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

2

Коли я зіткнувся з цією проблемою, проблема полягала в тому, що версія 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

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

Більше обговорення проблеми в генеруванні шляхів chefdk на Github https://github.com/chef/chef-dk/isissue/313


1

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

brew install pkg-config


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.