UBUNTU,NODE-GYP,CANVAS-获取构建错误

问题描述

你好,我在安装Canvas软件包时遇到问题。

打包版本6.1.13,并尝试了6.1.3

系统:Ubuntu 18.04.5 节点12.18.4 LTS Python 2.7 已安装g ++ 安装了pkg-config 安装了libjpeg

在npm安装canvas或完全安装后,我得到:

canvas@1.6.13 install /home/grzegorz/www/ouch/BodySpaces.Portal/node_modules/fabric/node_modules/canvas
> node-gyp rebuild

make: Entering directory '/home/grzegorz/www/ouch/BodySpaces.Portal/node_modules/fabric/node_modules/canvas/build'
  SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node
  copY Release/canvas-postbuild.node
  CXX(target) Release/obj.target/canvas/src/Canvas.o
In file included from ../../../../nan/nan_converters.h:67:0,from ../../../../nan/nan.h:222,from ../src/Canvas.h:22,from ../src/Canvas.cc:7:
../../../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal<v8::Boolean> v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated (declared at /home/grzegorz/.cache/node-gyp/12.18.4/include/node/v8.h:2663): ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
       val->To ## TYPE(isolate->GetCurrentContext())                            \
                                                   ^
../../../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
 X(Boolean)

还有更多相似之处。

解决方法

将NodeJ降级到v8.16.2将解决此问题,并且node-gyp不再在日志中大喊大叫。