无法构建节点模块屏幕

时间:2018-01-04 16:11:45

标签: node.js module

有问题的模块允许更改屏幕分辨率: https://github.com/davidmarkclements/screenres

它支持mac和linux,我已经编写了自己的windows代码,我想包含它。从没有节点的命令行编写和测试代码工作正常。

我正在尝试在Windows 7 64bit上构建,但是在没有添加内容的情况下构建源代码时遇到了错误。

node-gyp configure工作正常 node-gyp构建失败,模块nan似乎是罪魁祸首

I:\GitHub\screenres\node_modules\nan\nan.h(326): error C2995: 'v8::Local<T> Nan
::imp::NanEnsureHandleOrPersistent(const v8::Local<T> &)': function template ha
s already been defined (compiling source file ..\screenres.cc) [I:\GitHub\scree
nres\build\screenres.vcxproj]
  I:\GitHub\screenres\node_modules\nan\nan.h(319): note: see declaration of 'Na
  n::imp::NanEnsureHandleOrPersistent' (compiling source file ..\screenres.cc)
I:\GitHub\screenres\node_modules\nan\nan.h(346): error C2995: 'v8::Local<T> Nan
::imp::NanEnsureLocal(const v8::Local<T> &)': function template has already bee
n defined (compiling source file ..\screenres.cc) [I:\GitHub\screenres\build\sc
reenres.vcxproj]
  I:\GitHub\screenres\node_modules\nan\nan.h(334): note: see declaration of 'Na
  n::imp::NanEnsureLocal' (compiling source file ..\screenres.cc)
I:\GitHub\screenres\node_modules\nan\nan.h(374): warning C4996: 'v8::Isolate::I
dleNotification': was declared deprecated (compiling source file ..\screenres.c
c) [I:\GitHub\screenres\build\screenres.vcxproj]
  c:\users\marcgfx\.node-gyp\8.9.4\include\node\v8.h(7429): note: see declarati
  on of 'v8::Isolate::IdleNotification' (compiling source file ..\screenres.cc)
I:\GitHub\screenres\node_modules\nan\nan.h(560): error C2039: 'GCEpilogueCallba
ck': is not a member of 'v8::Isolate' (compiling source file ..\screenres.cc) [
I:\GitHub\screenres\build\screenres.vcxproj]

我已经安装了缺少的依赖项:

I:\GitHub\screenres>npm list
screenres@1.0.2 I:\GitHub\screenres
+-- bindings@1.3.0
+-- minimist@1.2.0
`-- nan@1.9.0

也许代码完全过时了?如果有人找到时间尝试从git存储库提供的代码,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

结果证明这个库正在使用的一切似乎已经过时了。通过踢所有对其他库的引用并重写大量代码,我获得了成功。我最终做了一些非常不同的东西,所以我可能会开始一个新的github项目。