Paket kahire, pkg-config arama yolunda bulunamadı. Düğüm js tuval yükleme sorunu


103

Kanvas modülünü düğüme kurarken bir sorun yaşıyorum ... Kahire ile ilgili bir şey görünüyor, bu hatayı alıyorum ...

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

Bunun ne anlama geldiğinden emin değilim! Herhangi bir yardıma minnettar olur musunuz? Örneğin, pkg_config_path ortam değişkeninde bir mkdir cairo bilgisayarı nasıl yapılır?


Bunun yardımcı olup olmadığına bakın: github.com/LearnBoost/node-canvas/issues/225

ah teşekkürler ken, bunu takip ettim ama şimdi şu hatayı alıyorum CXX (hedef) Release / obj.target / canvas / src / Canvas.o ../src/Canvas.cc:7: ../src/ Canvas.h: 19: 10: ölümcül hata: 'cairo / cairo.h' dosyası bulunamadı #include <cairo / cairo.h>
plimbs

Yanıtlar:


138

Aynı sorunu yaşadım ve @ Epistemex'in bağlantısı sorunu gidermeme yardımcı oldu.

... Sen yüklemeniz gerekir libcairo2-dev, libjpeg-devve libgif-devpaketler ...

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

6
Ayrıca pangocairo paketine de ihtiyacım vardı,sudo apt-get install libpango1.0-dev
Adlen Afane

Debian olmadığı için bu amzon ec2 örneğinde çalışmayacak mı? Bunun için herhangi bir kimse biliyorum yum komutu
Max

5
cairo-devel libjpeg-develve giflib-develAmazon Linux paketleri. @Max
Stephen Reid

68

Mac'te de aynı sorunla karşılaşıyordum, bu yüzden bu adımları denedim ve çözüm buldum

Mac OSX Sürümü> = 10.7.5 düğüm -v = v0.8.12

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

1 döndürürse, PKG_CONFIG_PATH ortam değişkenini ayarlamanız gerekir, böylece cairo.pc ve fontconfig.pc bulunabilir.

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

Pkg-config yeniden çalıştırılıyor ...

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

$ echo $?

0 döndürürse, o zaman her şey yolunda demektir.

$ npm install canvas

1
Ayrıntıları takdir edin. İyi bir.
neelmeg

1
Mac / brew kullanan işaretçiler için teşekkürler. Mac'te kullanıyorsanız macports, bu benim için çalıştı: $ sudo port install cairo $ sudo port install pkgconfig # bunun zorunlu olduğundan emin değilim ...: / $ npm kanvas yükle
DerekC

32

qrcodePaketi yüklerken OS X 10.11.2'de aynı sorunu yaşadım .

Bunları yükleyerek çözüldü:

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

4
Sadece brew install cairobenim durumumda yeterliydi (macOS Sierra 10.12.1)
sakisk

1
yepyeni bir macOS Sierra 10.12 (Kurtarıldı) kurulumu ile, brew install cairoyeterli olmalı, yeni onaylanmalıdır.
Kulbear

2
brew install cairootomatik olarak da yüklenecek pkg-configgibi görünüyor
jacoballenwood

14

Hala bu sorunu yaşayan biri varsa ve bu sayfayı bulduysa, aşağıdakiler CentOS 6.6 için çalışır:

sudo yum install cairo cairo-devel

Temel olarak çözüm, geliştirme paketinin yanı sıra normal paketi de yüklemeniz gerektiğidir (buradaki en iyi cevap aynı şeyi yapar - Ubuntu hariç - her dağıtım farklı olabilir).


5

@ Piyush tarafından verilen adımları takip ettim. Ama işe yaraması için fazladan bir adıma ihtiyacım vardı. OS X 10.14.5 kullanıyorum

İşte takip ettiğim şey bu.

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 kullanırsanız, kabul edilen cevap gayet iyi. YUM / DNF kullanıcıları için (Fedora, CentOS, diğer RHEL benzeri sistemler) aşağıdakileri kullanın

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

2

Bu sorunla karşılaştığımda sorun, pkg-configyolumdaki sürümünün homebrew yüklü sürüm yerine chefdk tarafından sağlanan sürüm olmasıydı.

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

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

Çözüm, eval "$(chef shell-init bash)"girdiyi bash profilimden kaldırmaktı .

Github https://github.com/chef/chef-dk/issues/313 adresindeki chefdk'in yol oluşturma bölümünde konuyla ilgili daha fazla tartışma


1

Sadece OSX 10.10.4'e pkg-config yüklemem gerekiyordu

brew install pkg-config


0

Ubuntu için bunlar komutlardır. Ayrıca referans burada .

$ sudo apt-get update 
$ sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.