web-dev-qa-db-ja.com

パッケージcairoがpkg-config検索パスで見つかりませんでした。 Node j.sインストールキャンバスの問題

キャンバスモジュールをノードにインストールする際にインストールに問題があります。このエラーが表示されるのはcairoの何かのようです...

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

それが何を意味するのか分かりません!たとえば、pkg_config_path環境変数でmkdir cairo pcを使用するにはどうすればよいですか?

86
plimbs

同じ問題があり、@ Epistemexの link がトラブルシューティングに役立ちました。

... libcairo2-devlibjpeg-dev、およびlibgif-devパッケージをインストールする必要があります...

Sudo apt-get install libcairo2-dev libjpeg-dev libgif-dev
114
HenryHey

私も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
58

qrcodeパッケージのインストール中にOS X 10.11.2で同じ問題が発生しました。

これらをインストールして解決しました:

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

まだこの問題が発生し、このページが見つかった場合、CentOS 6.6では次のように機能します。

Sudo yum install cairo cairo-devel

基本的に解決策は、開発パッケージと通常のパッケージをインストールする必要があることです(ここでのベストアンサーは同じことを行います-Ubuntuを除く-すべてのディストリビューションは異なる場合があります)。

12
Ryan M

@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

OSX 10.10.4にpkg-configをインストールする必要がありました

brew install pkg-config

1
Fush

Apt-getを使用する場合、受け入れられる答えは問題ありません。 YUM/DNFユーザー(Fedora、CentOS、その他のRHELのようなシステム)の場合、次を使用します

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

この問題に出くわしたとき、問題は、パス上の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

解決策は、bashプロファイルからeval "$(chef Shell-init bash)"エントリを削除することでした。

Githubでのchefdkのパス生成における問題の詳細な議論 https://github.com/chef/chef-dk/issues/31

1
Brian Skarda