2014-02-28 40 views
56

我在安裝安裝在node..It畫布模塊似乎有什麼東西與開羅我收到此錯誤的一個問題...在pkg-config搜索路徑中未找到軟件包cairo。節點JS安裝帆布問題

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

問題的

更多討論,看是否有此幫助了:https://github.com/LearnBoost/node-canvas/issues/225 – K3N

+0

啊拜肯,我跟着這個但現在我有這個錯誤CXX(目標)Release/obj.target/canvas/src/Canvas.o 從../src/Canvas.cc:7包含的文件中: ../src/Canvas.h:19 :10:致命錯誤:找不到'cairo/cairo.h'文件 #include plimbs

回答

71

有同樣的問題和@ Epistemex的link幫助我排除故障。

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

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

或者你可以一行: sudo apt-get install libcairo2-dev libjpeg-dev libgif-dev –

+5

我還需要pangocairo軟件包,用'sudo apt-get install libpango1.0-dev'解決 –

+0

這不會在amzon ec2實例中工作,因爲它們不是debian?任何人都知道這個 – Max

42

我也面臨着同樣的問題在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和fontco nfig.pc可以發現

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

再次運行pkg配置...

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

$ echo $? 

如果它返回一個0就萬事大吉了在引擎蓋。

$ npm install canvas 
+3

謝謝..你的解決方案工作..偉大的工作:) – Dave

+1

欣賞細節。好的。 – neelmeg

+0

感謝您使用Mac/brew的指針。 在Mac上,如果你使用'macports',這個工作對我來說: $ sudo的港口安裝開羅 $ sudo的港口安裝pkgconfig#不知道這個人是強制性的...:/ $ NPM安裝帆布 – DerekC

8

如果有人仍然有這個問題,並找到了這個網頁,爲CentOS 6.6以下工作:

sudo yum install cairo cairo-devel 

基本上解決的辦法是,你需要安裝開發包以及定期包(這裏最好的答案是同樣的事情 - 除了Ubuntu以外 - 每個發行版都可以不同)。

+0

這適用於亞馬遜AMI – deepelement

0

我只是需要在OSX 10.10.4

brew install pkg-config

21

安裝pkg配置在安裝qrcode包對OS X 10.11.2同樣的問題。

通過安裝這些的解決:

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

在我的情況下(macOS Sierra 10.12.1) – ierax

+0

只有'brew install cairo',全新安裝了macOS Sierra 10.12(恢復),'brew install cairo'應該足夠了,剛剛確認。 – Kulbear

+0

它看起來像'brew install cairo'自動安裝'pkg-config' – jacoballenwood

1

當我遇到了這個問題,這個問題是的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 

解決的辦法是從我的bash配置文件中刪除eval "$(chef shell-init bash)"條目。在chefdk的路徑生成Github上https://github.com/chef/chef-dk/issues/313