ไม่พบแพ็กเกจไคโรในเส้นทางการค้นหา pkg-config ปัญหา Node js ติดตั้ง canvas


102

ฉันมีปัญหาในการติดตั้งการติดตั้งโมดูลผ้าใบในโหนด.. ดูเหมือนว่าจะมีบางอย่างเกิดขึ้นกับไคโรฉันได้รับข้อผิดพลาดนี้ ...

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/issues/225

อาขอบคุณเคนฉันทำตามสิ่งนี้ แต่ตอนนี้ฉันมีข้อผิดพลาดนี้ CXX (เป้าหมาย) Release / obj.target / canvas / src / Canvas.o ในไฟล์ที่รวมจาก ../src/Canvas.cc:7: ../src/ Canvas.h: 19: 10: ข้อผิดพลาดร้ายแรง: ไม่พบไฟล์ "cairo / cairo.h" #include <cairo / cairo.h>
plimbs

คำตอบ:


136

มีปัญหาเดียวกันและลิงก์ของ @ Epistemex ช่วยฉันแก้ปัญหาได้

... คุณจำเป็นต้องติดตั้งlibcairo2-dev, libjpeg-devและlibgif-devแพคเกจ ...

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

6
ฉันต้องการแพ็คเกจ pangocairo ด้วยแก้ไขด้วยsudo apt-get install libpango1.0-dev
Adlen Afane

สิ่งนี้จะไม่ทำงานในอินสแตนซ์ amzon ec2 เนื่องจากไม่ใช่ debian? มีใครรู้คำสั่งยำสำหรับสิ่งนี้
สูงสุด

5
cairo-devel libjpeg-develและgiflib-develเป็นแพ็คเกจ Amazon Linux @Max
Stephen Reid

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 install cairo $ sudo port install pkgconfig # ไม่แน่ใจว่าอันนี้บังคับ ... : / $ npm ติดตั้ง canvas
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ก็น่าจะเพียงพอแล้วเพียงแค่ยืนยัน
Kulbear

2
ดูเหมือนว่าbrew install cairoจะติดตั้งโดยอัตโนมัติpkg-configเช่นกัน
jacoballenwood

14

หากใครยังประสบปัญหานี้และพบหน้านี้สิ่งต่อไปนี้ใช้ได้กับ CentOS 6.6:

sudo yum install cairo cairo-devel

โดยทั่วไปวิธีแก้ปัญหาคือคุณต้องติดตั้งแพ็คเกจการพัฒนาเช่นเดียวกับแพ็คเกจปกติ (คำตอบที่ดีที่สุดที่นี่ทำสิ่งเดียวกัน - ยกเว้นสำหรับ Ubuntu - ทุก distro อาจแตกต่างกัน)


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บนพา ธ ของฉันเป็นเวอร์ชันที่เชฟdkจัดเตรียมให้แทนที่จะเป็นเวอร์ชันที่ติดตั้ง homebrew

$ 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)"รายการออกจากโปรไฟล์ทุบตีของฉัน

การอภิปรายเพิ่มเติมเกี่ยวกับปัญหาในการสร้างเส้นทางของ chefdk บน Github https://github.com/chef/chef-dk/issues/313



0

สำหรับ Ubuntu คำสั่งเหล่านี้คือ นอกจากนี้ที่นี่คือการอ้างอิง

$ sudo apt-get update 
$ sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.