[node.js] pkg-config 검색 경로에서 패키지 cairo를 찾을 수 없습니다. Node 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

> 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

그게 무슨 뜻인지 모르겠어요! 도움을 주시면 감사하겠습니다! 예를 들어 pkg_config_path 환경 변수에서 mkdir cairo pc를 사용하는 방법은 무엇입니까?



답변

같은 문제가 있었고 @Epistemex의 링크 가 문제를 해결하는 데 도움이되었습니다.

… 당신은 설치해야 할 libcairo2-dev, libjpeg-dev그리고 libgif-dev패키지 …

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


답변

나는 또한 Mac에서 동일한 문제에 직면 했으므로이 단계를 시도했으며 해결책을 얻었습니다.

Mac OSX 버전> = 10.7.5 노드 -v = v0.8.12

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

1이 반환되면 cairo.pc 및 fontconfig.pc를 찾을 수 있도록 PKG_CONFIG_PATH 환경 변수를 설정해야합니다.

$ 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


답변

qrcode패키지 를 설치하는 동안 OS X 10.11.2에서 동일한 문제가 발생했습니다 .

다음을 설치하면 해결됩니다.

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


답변

누구든지이 문제가 계속 발생하고이 페이지를 발견 한 경우 CentOS 6.6에서 다음이 작동합니다.

sudo yum install cairo cairo-devel

기본적으로 해결책은 일반 패키지와 함께 개발 패키지를 설치해야한다는 것입니다 (우분투를 제외하고 여기에서 가장 좋은 답변은 동일한 작업을 수행합니다. 모든 배포판이 다를 수 있음).


답변

@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


답변

apt-get을 사용하면 허용되는 대답은 괜찮습니다. YUM / DNF 사용자 (Fedora, CentOS, 기타 RHEL 유사 시스템)의 경우 다음을 사용하십시오.

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


답변

이 문제가 발생했을 때 문제는 pkg-config내 경로의 버전이 homebrew가 설치된 버전 대신 chefdk에서 제공 한 버전이라는 것입니다.

$ 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)"내 bash 프로필에서 항목 을 제거하는 것입니다.

Github https://github.com/chef/chef-dk/issues/313 에서 chefdk의 경로 생성 문제에 대한 추가 토론