Il pacchetto cairo non è stato trovato nel percorso di ricerca di pkg-config. Problema relativo all'installazione di canvas del nodo js


101

Sto riscontrando un problema durante l'installazione dell'installazione del modulo canvas nel nodo .. Sembra che sia qualcosa con cairo, ricevo questo errore ...

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

Non sono sicuro di cosa significhi tutto questo! Apprezzerei qualsiasi aiuto! Ad esempio come un pc mkdir cairo nella variabile d'ambiente pkg_config_path?



ah grazie ken, ho seguito questo ma ora ho questo errore CXX (target) Release / obj.target / canvas / src / Canvas.o Nel file incluso da ../src/Canvas.cc:7: ../src/ Canvas.h: 19: 10: errore fatale: file "cairo / cairo.h" non trovato #include <cairo / cairo.h>
plimbs

Risposte:


135

Ho avuto lo stesso problema e il collegamento di @ Epistemex mi ha aiutato a risolverlo.

... È necessario installare libcairo2-dev, libjpeg-deve libgif-devpacchetti ...

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

5
Avevo anche bisogno del pacchetto pangocairo, risolto consudo apt-get install libpango1.0-dev
Adlen Afane

Questo non funzionerà nell'istanza di amzon ec2, dato che non sono debian? qualcuno conosce il comando yum per questo
Max

5
cairo-devel libjpeg-devele giflib-develsono i pacchetti Amazon Linux. @Max
Stephen Reid

68

Stavo anche affrontando lo stesso problema su Mac, quindi ho provato questi passaggi e ho ottenuto la soluzione

Versione Mac OSX> = 10.7.5 node -v = v0.8.12

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

Se restituisce un 1, dovrai impostare la variabile d'ambiente PKG_CONFIG_PATH in modo che cairo.pc e fontconfig.pc possano essere trovati

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

Esecuzione di nuovo pkg-config ...

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

$ echo $?

Se restituisce uno 0, tutto va bene nel cofano.

$ npm install canvas

1
Apprezza i dettagli. Bene.
neelmeg

1
Grazie per i suggerimenti sull'utilizzo di Mac / brew. Su Mac, se stai usando macports, questo ha funzionato per me: $ sudo port install cairo $ sudo port install pkgconfig # non sono sicuro che questo sia obbligatorio ...: / $ npm install canvas
DerekC

32

Ha avuto lo stesso problema su OS X 10.11.2 durante l'installazione del qrcodepacchetto.

Risolto installando questi:

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

4
Solo brew install caironel mio caso era sufficiente (macOS Sierra
10.12.1

1
con una nuovissima installazione di macOS Sierra 10.12 (ripristinato), brew install cairodovrebbe essere sufficiente, appena confermato.
Kulbear

2
sembra che brew install cairosi installi automaticamente pkg-configanche
jacoballenwood

14

Se qualcuno ha ancora questo problema e ha trovato questa pagina, quanto segue funziona per CentOS 6.6:

sudo yum install cairo cairo-devel

Fondamentalmente la soluzione è che devi installare il pacchetto di sviluppo così come il pacchetto normale (la migliore risposta qui fa la stessa cosa - tranne che per Ubuntu - ogni distribuzione può essere diversa).


5

Ho seguito i passaggi forniti da @Piyush. Ma avevo bisogno di un passaggio in più per farlo funzionare. Sto usando OS X 10.14.5

Quindi questo è quello che ho seguito.

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

La risposta accettata va benissimo se usi apt-get. Per gli utenti YUM / DNF (Fedora, CentOS, altri sistemi simili a RHEL), utilizzare quanto segue

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

2

Quando ho riscontrato questo problema, il problema era che la versione di pkg-configsul mio percorso era la versione fornita da chefdk invece della versione installata da homebrew.

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

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

La soluzione era rimuovere la eval "$(chef shell-init bash)"voce dal mio profilo bash.

Ulteriori discussioni sul problema nella generazione del percorso di chefdk su Github https://github.com/chef/chef-dk/issues/313


1

Avevo solo bisogno di installare pkg-config su OSX 10.10.4

brew install pkg-config


0

Per Ubuntu, questi sono i comandi. Inoltre, ecco il riferimento .

$ sudo apt-get update 
$ sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.