2014-02-28 6 views
56

ich ein Problem habe die Installation die Leinwand Modul in node..It installiert, scheint mit kairo etwas zu sein, ich diese Störung erhalte ...Das Paket cairo wurde nicht im Suchpfad von pkg-config gefunden. Knoten js installiert Leinwand Problem

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 

I'm not sure what it all means! Would appreciate any help!For example how to a mkdir cairo pc in the pkg_config_path environment variable? 
+0

Sehen Sie, wenn dies aus hilft: https://github.com/LearnBoost/node-canvas/issues/225 – K3N

+0

ah dank ken, folgte ich diese aber jetzt habe ich diesen Fehler CXX (Ziel) Release/obj.target/canvas/src/Canvas.o In der Datei enthalten von ../src/Canvas.cc:7: ../src/Canvas.h:19 : 10: fataler Fehler: Datei 'cairo/cairo.h' nicht gefunden #include plimbs

Antwort

71

hat das gleiche Problem und @ Epistemex's link half mir bei der Fehlersuche.

... You need to install libcairo2-dev , libjpeg-dev and libgif-dev packages ...

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

oder Sie könnten eine Zeile das: sudo apt-get installieren libcairo2-dev libjpeg-dev libgif-dev –

+5

Ich brauchte auch das pangocairo-Paket, gelöst mit 'sudo apt-get install libpango1.0-dev' –

+0

Dies funktioniert nicht in der Amazon ec2-Instanz, da sie nicht debianisch sind? Irgendwelche Yum-Befehl für diese kennen – Max

42

wurde ich auch gleiche Frage, die sich auf dem Mac so habe ich diese Schritte versucht & Ich habe Lösung

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

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

Wenn es ein 1 zurückgibt, müssen Sie die PKG_CONFIG_PATH Umgebungsvariablen setzen, so cairo.pc und FontCo nfig.pc kann

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

Lauf pkg-config wieder ...

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

$ echo $? 

gefunden werden, wenn es eine 0 zurück, dann sind alle gut in der Haube ist.

$ npm install canvas 
+3

Danke .. Ihre Lösung hat funktioniert ... toller Job :) – Dave

+1

Schätzen Sie die Details. Gute Eins. – neelmeg

+0

Danke für die Zeiger mit Mac/brew. Auf Mac, wenn Sie mit 'macports', das ist für mich gearbeitet: $ sudo port kairo $ sudo port pkgconfig # nicht sicher, ob dies ist zwingend installieren installieren ...:/ npm Leinwand installiert $ – DerekC

8

Wenn jemand mit noch dieses Problem und fand diese Seite, die folgenden Werke für CentOS 6.6:

sudo yum install cairo cairo-devel 

Grundsätzlich ist die Lösung, die Sie benötigen das Entwicklungspaket sowie die regelmäßige Paket installieren (Die beste Antwort hier tut das gleiche - außer für Ubuntu - jede Distribution kann anders sein).

+0

Dies funktioniert auf Amazon AMI – deepelement

0

Ich brauche nur pkg-config auf OSX 10.10.4

brew install pkg-config

21

Hatte das gleiche Problem auf OS X 10.11.2 zu installieren, während qrcode-Paket installieren.

gelöst durch diese hier installieren:

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

Nur 'brew install cairo' reichte in meinem Fall (macOS Sierra 10.12.1) – ierax

+0

mit einer brandneuen Installation von macOS Sierra 10.12 (Wiederhergestellt),' brew install cairo' sollte reichen, gerade bestätigt. – Kulbear

+0

sieht es so aus, als würde 'brew install cairo' auch 'pkg-config' automatisch installieren – jacoballenwood

1

Als ich in dieses Problem lief war das Problem, dass die Version von pkg-config auf meinem Weg die Version von chefdk anstelle der Homebrew installierte Version geliefert wurde.

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

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

Die Lösung war die eval "$(chef shell-init bash)" Eintrag aus meinem Bash Profil zu entfernen.

Weitere Diskussion des Themas in Weg Generation chefdk auf Github https://github.com/chef/chef-dk/issues/313

Verwandte Themen