我在安装在节点中安装canvas模块时出现问题。它似乎与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
> 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?
答案 0 :(得分:108)
有同样的问题, @ Epistemex的link帮我解决了问题。
...您需要安装
libcairo2-dev
,libjpeg-dev
和libgif-dev
个套餐...
sudo apt-get install libcairo2-dev libjpeg-dev libgif-dev
答案 1 :(得分:55)
我在mac上也遇到了同样的问题 所以我尝试了这些步骤&我得到了解决方案
Mac OSX版本> = 10.7.5 node -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
答案 2 :(得分:31)
在安装qrcode
软件包时,OS X 10.11.2上存在同样的问题。
通过安装这些来解决:
brew install cairo
brew install pkg-config
xcode-select --install
答案 3 :(得分:12)
如果有人仍然遇到此问题并找到此页面,则以下适用于CentOS 6.6:
sudo yum install cairo cairo-devel
基本上解决方案是您需要安装开发包以及常规包(这里最好的答案是相同的 - 除了Ubuntu - 每个发行版都可以不同)。
答案 4 :(得分:1)
我只需要在OSX 10.10.4上安装pkg-config
brew install pkg-config
答案 5 :(得分:1)
当我遇到这个问题时,问题是我路径上的$ which pkg-config
/usr/local/bin/pkg-config
$ eval "$(chef shell-init bash)"
$ which pkg-config
/opt/chefdk/embedded/bin/pkg-config
版本是chefdk提供的版本,而不是自制的安装版本。
eval "$(chef shell-init bash)"
解决方案是从我的bash配置文件中删除df.withColumn("name", when($"name" === "'", ""))
条目。
更多关于在Github https://github.com/chef/chef-dk/issues/313
上生成chefdk路径问题的讨论答案 6 :(得分:1)
如果使用apt-get,可接受的答案就很好。对于YUM / DNF用户(Fedora,CentOS,其他类似RHEL的系统),请使用以下
yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel
答案 7 :(得分:0)
我遵循了@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
答案 8 :(得分:0)
对于Ubuntu,这些是命令。另外,这是reference。
$ sudo apt-get update
$ sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev