yum 安装 libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++

yum 安装 libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++

我正在尝试安装https://npmjs.org/package/canvas

我遵循这个指南: https://github.com/LearnBoost/node-canvas/wiki/安装---Ubuntu

和:

yum 安装 libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++

和/或:

yum 安装 libcairo2-devel libjpeg8-devel libpango1.0-devel libgif-devel build-essential g++

尝试过:

yum clean all

再试一次:

[root@vps ~]# yum install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: centos.serverspace.co.uk
 * extras: mirrors.coreix.net
 * updates: centos.serverspace.co.uk
base                                                                                                                                     | 1.1 kB     00:00     
base/primary                                                                                                                             | 1.2 MB     00:00     
base                                                                                                                                                  3641/3641
extras                                                                                                                                   | 2.1 kB     00:00     
extras/primary_db                                                                                                                        | 188 kB     00:00     
updates                                                                                                                                  | 1.9 kB     00:00     
updates/primary_db                                                                                                                       | 540 kB     00:00     
virtualmin                                                                                                                               | 1.2 kB     00:00     
virtualmin/primary                                                                                                                       |  59 kB     00:00     
virtualmin-universal                                                                                                                     | 1.2 kB     00:00     
virtualmin-universal/primary                                                                                                             |  21 kB     00:00     
vz-base                                                                                                                                  |  951 B     00:00     
vz-base/primary                                                                                                                          | 1.7 kB     00:00     
vz-base                                                                                                                                                     5/5
vz-updates                                                                                                                               |  951 B     00:00     
vz-updates/primary                                                                                                                       | 1.0 kB     00:00     
vz-updates                                                                                                                                                  3/3
Setting up Install Process
No package libcairo2-dev available.
No package libjpeg8-dev available.
No package libpango1.0-dev available.
No package libgif-dev available.
No package build-essential available.
No package g++ available.
Nothing to do

我究竟做错了什么?

Fedora 安装

[root@vps ~]# su -c 'yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel'
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.serverspace.co.uk
 * extras: mirrors.coreix.net
 * updates: centos.serverspace.co.uk
Setting up Install Process
No package cairomm-devel available.
No package libjpeg-turbo-devel available.
No package pangomm available.
No package pangomm-devel available.
Resolving Dependencies
--> Running transaction check
---> Package cairo.i386 0:1.2.4-5.el5 set to be updated
---> Package cairo.x86_64 0:1.2.4-5.el5 set to be updated
---> Package cairo-devel.i386 0:1.2.4-5.el5 set to be updated
---> Package cairo-devel.x86_64 0:1.2.4-5.el5 set to be updated
---> Package pango.i386 0:1.14.9-8.el5.centos.3 set to be updated
---> Package pango.x86_64 0:1.14.9-8.el5.centos.3 set to be updated
---> Package pango-devel.i386 0:1.14.9-8.el5.centos.3 set to be updated
---> Package pango-devel.x86_64 0:1.14.9-8.el5.centos.3 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved 
=================================================
Installing:
 cairo          i386               394 k
 cairo          x86_64             386 k
 cairo-devel    i386               131 k
 cairo-devel    x86_64             130 k
 pango          i386               334 k
 pango          x86_64             338 k
 pango-devel    i386               275 k
 pango-devel    x86_64             276 k

Transaction Summary
=================================================
Install       8 Package(s)
Upgrade       0 Package(s)

Total download size: 2.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): cairo-devel-1.2.4-5.el5.x86_64.rpm                                                                                                                    | 130 kB     00:00     
(2/8): cairo-devel-1.2.4-5.el5.i386.rpm                                                                                                                      | 131 kB     00:00     
(3/8): pango-devel-1.14.9-8.el5.centos.3.i386.rpm                                                                                                            | 275 kB     00:00     
(4/8): pango-devel-1.14.9-8.el5.centos.3.x86_64.rpm                                                                                                          | 276 kB     00:00     
(5/8): pango-1.14.9-8.el5.centos.3.i386.rpm                                                                                                                  | 334 kB     00:00     
(6/8): pango-1.14.9-8.el5.centos.3.x86_64.rpm                                                                                                                | 338 kB     00:00     
(7/8): cairo-1.2.4-5.el5.x86_64.rpm                                                                                                                          | 386 kB     00:00     
(8/8): cairo-1.2.4-5.el5.i386.rpm                                                                                                                            | 394 kB     00:00     
--------------------------------------------------
Total                                                                                                                                                  6.1 MB/s | 2.2 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
 Installing     : cairo                                                                                                                                                            1/8 
  Installing     : cairo                                                                                                                                                        2/8 
  Installing     : pango                                                                                                                                                        3/8 
  Installing     : cairo-devel                                                                                                                                                  4/8 
  Installing     : pango-devel                                                                                                                                                  5/8 
  Installing     : cairo-devel                                                                                                                                                  6/8 
  Installing     : pango                                                                                                                                                        7/8 
  Installing     : pango-devel                                                                                                                                                  8/8 

Installed:
  cairo.i386 0:1.2.4-5.el5                cairo.x86_64 0:1.2.4-5.el5                cairo-devel.i386 0:1.2.4-5.el5                cairo-devel.x86_64 0:1.2.4-5.el5               
  pango.i386 0:1.14.9-8.el5.centos.3      pango.x86_64 0:1.14.9-8.el5.centos.3      pango-devel.i386 0:1.14.9-8.el5.centos.3      pango-devel.x86_64 0:1.14.9-8.el5.centos.3     

Complete!
[root@vps ~]# npm install canvas
npm http GET https://registry.npmjs.org/canvas
npm http 304 https://registry.npmjs.org/canvas

> [email protected] install /root/node_modules/canvas
> node-gyp rebuild

 make: Entering directory `/root/node_modules/canvas/build'

 CXX(target) Release/obj.target/canvas/src/Canvas.o
../src/Canvas.cc: In static member function ‘static v8::Handle<v8::Value> Canvas::StreamJPEGSync(const v8::Arguments&)’:
../src/Canvas.cc:369: warning: passing ‘double’ for argument 2 to ‘void write_to_jpeg_stream(cairo_surface_t*, int, int, closure_t*)’
../src/Canvas.cc:369: warning: passing ‘double’ for argument 3 to ‘void write_to_jpeg_stream(cairo_surface_t*, int, int, closure_t*)’
  CXX(target) Release/obj.target/canvas/src/CanvasGradient.o
  CXX(target) Release/obj.target/canvas/src/CanvasPattern.o
  CXX(target) Release/obj.target/canvas/src/CanvasRenderingContext2d.o
../src/CanvasRenderingContext2d.cc: In static member function ‘static   v8::Handle<v8::Value> Context2d::DrawImage(const v8::Arguments&)’:
../src/CanvasRenderingContext2d.cc:639: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:640: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:641: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:642: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:643: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:644: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:645: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:646: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:650: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:651: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:652: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:653: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:657: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:658: warning: converting to ‘int’ from ‘double’
../src/CanvasRenderingContext2d.cc:679: warning: converting to ‘int’ from ‘float’
../src/CanvasRenderingContext2d.cc:680: warning: converting to ‘int’ from ‘float’
../src/CanvasRenderingContext2d.cc: In static member function ‘static void   Context2d::SetShadowBlur(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)’:
../src/CanvasRenderingContext2d.cc:942: warning: converting to ‘int’ from ‘double’
  CXX(target) Release/obj.target/canvas/src/color.o
  CXX(target) Release/obj.target/canvas/src/Image.o
../src/Image.cc: In member function ‘cairo_status_t Image::loadGIFFromBuffer(uint8_t*, unsigned int)’:
../src/Image.cc:602: error: ‘cairo_format_stride_for_width’ was not declared in this scope
../src/Image.cc: In member function ‘cairo_status_t    Image::decodeJPEGIntoSurface(jpeg_decompress_struct*)’:
../src/Image.cc:716: error: ‘cairo_format_stride_for_width’ was not declared in this   scope
make: *** [Release/obj.target/canvas/src/Image.o] Error 1
make: Leaving directory `/root/node_modules/canvas/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit    (/root/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:786:12)
gyp ERR! System Linux 2.6.32-042stab065.3
gyp ERR! command "node" "/root/local/lib/node_modules/npm/node_modules/node-    gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/node_modules/canvas
gyp ERR! node -v v0.10.3
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok 
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! `sh "-c" "node-gyp rebuild"` failed with 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the canvas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls canvas
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 2.6.32-042stab065.3
npm ERR! command "node" "/root/local/bin/npm" "install" "canvas"
npm ERR! cwd /root
npm ERR! node -v v0.10.3
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /root/npm-debug.log
npm ERR! not ok code 0

答案1

该指南适用于 Ubuntu,而您没有运行 Ubuntu。如果您有以下情况,请尝试 Fedora 指南yum

su -c 'yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel'
npm install canvas

来源

相关内容