Sharp: electron-builder, Windows, Electron 6.1.9: "This package does not support N-API version"

Created on 14 Jul 2020  ·  5Comments  ·  Source: lovell/sharp

There is no problem with the installation, and there is no problem with the running of dev. it's just that an error is reported when building

npm install
npx electron-rebuild
"build": "node .electron-vue/build.js && electron-builder",

Env

sharp 0.25.4
"electron": "^6.0.12"
electron-builder": "^20.38.5"
System:
    OS: Windows 10 10.0.18363
    CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
    Memory: 20.22 GB / 31.91 GB
  Binaries:
    Node: 12.14.1 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.16.0 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 6.13.4 - D:\Program Files\nodejs\npm.CMD

ErrorLog

 OKAY  take it away `electron-builder`

  • electron-builder version=20.44.4
  • loaded configuration file=package.json ("build" field)
  • electron-rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies

To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
  • writing effective config file=build\builder-effective-config.yaml
  • rebuilding native production dependencies platform=win32 arch=x64
Error: D:\Program Files\nodejs\node.exe exited with code 1
Output:

> [email protected] install D:\muqi\mpconfig\node_modules\nodejieba
> node-pre-gyp install --fallback-to-build

�ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ������ӡ�/m�����ء�
  index.cpp
  nodejieba.cpp
  win_delay_load_hook.cc
c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(8205): warning C4996: 'v8::MicrotasksCompletedCallback': ������Ϊ�ѷ�� (����Դ�ļ� ..\lib\nodejieba.cpp) [D:\muqi\mpconfig\node_modules\nodejieba\build\nodejieba.vcxproj]
  c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(6667): note: �μ���v8::MicrotasksCompletedCallback�������� (����Դ�ļ� ..\lib\nodejieba.cpp)
c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(8214): warning C4996: 'v8::MicrotasksCompletedCallback': ������Ϊ�ѷ�� (����Դ�ļ� ..\lib\nodejieba.cpp) [D:\muqi\mpconfig\node_modules\nodejieba\build\nodejieba.vcxproj]
  c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(6667): note: �μ���v8::MicrotasksCompletedCallback�������� (����Դ�ļ� ..\lib\nodejieba.cpp)
c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(8205): warning C4996: 'v8::MicrotasksCompletedCallback': ������Ϊ�ѷ�� (����Դ�ļ� ..\lib\index.cpp) [D:\muqi\mpconfig\node_modules\nodejieba\build\nodejieba.vcxproj]  
  c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(6667): note: �μ���v8::MicrotasksCompletedCallback�������� (����Դ�ļ� ..\lib\index.cpp)
c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(8214): warning C4996: 'v8::MicrotasksCompletedCallback': ������Ϊ�ѷ�� (����Դ�ļ� ..\lib\index.cpp) [D:\muqi\mpconfig\node_modules\nodejieba\build\nodejieba.vcxproj]  
  c:\users\lili\.electron-gyp\6.1.9\include\node\v8.h(6667): note: �μ���v8::MicrotasksCompletedCallback�������� (����Դ�ļ� ..\lib\index.cpp)
    ���ڴ����� D:\muqi\mpconfig\node_modules\nodejieba\build\Release\nodejieba.lib �Ͷ��� D:\muqi\mpconfig\node_modules\nodejieba\build\Release\nodejieba.exp
  �������ɴ���
  All 3174 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  ����ɴ��������
  nodejieba.vcxproj -> D:\muqi\mpconfig\node_modules\nodejieba\build\Release\\nodejieba.node

> [email protected] install D:\muqi\mpconfig\node_modules\sharp
> (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)


D:\muqi\mpconfig\node_modules\sharp>if not defined npm_config_node_gyp (node "D:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  
else (node "D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )       
�ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ������ӡ�/m�����ء�
  VError.cpp
  VConnection.cpp
  VInterpolate.cpp
  VImage.cpp
  win_delay_load_hook.cc
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gatomic.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VInterpolate.cp
p) [D:\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gatomic.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VImage.cpp) [D:
\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gatomic.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VConnection.cpp
) [D:\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gatomic.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VError.cpp) [D:
\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VImage.cpp) 
[D:\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VInterpolate
.cpp) [D:\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VConnection.
cpp) [D:\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libvips\cplusplus\VError.cpp) 
[D:\muqi\mpconfig\node_modules\sharp\build\libvips-cpp.vcxproj]
    ���ڴ����� D:\muqi\mpconfig\node_modules\sharp\build\Release\libvips-cpp.lib �Ͷ��� D:\muqi\mpconfig\node_modules\sharp\build\Release\libvips-cpp.exp
  �������ɴ���
  All 1061 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  ����ɴ��������
  libvips-cpp.vcxproj -> D:\muqi\mpconfig\node_modules\sharp\build\Release\\libvips-cpp.dll
  nothing.vcxproj -> D:\muqi\mpconfig\node_modules\sharp\build\Release\\nothing.lib
  common.cc
  metadata.cc
  stats.cc
  operations.cc
  pipeline.cc
  utilities.cc
  sharp.cc
  win_delay_load_hook.cc
d:\muqi\mpconfig\node_modules\sharp\src\sharp.cc(15): fatal error C1083: �޷��򿪰����ļ�: ��napi.h��: N o such 
ile or directory [D:\muqi\mpconfig\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\src\metadata.cc(18): fatal error C1083: �޷��򿪰����ļ�: ��napi.h�� : No su
h file or directory [D:\muqi\mpconfig\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gatomic.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\operations.cc) [D:\muqi\mpconfig\
node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\operations.cc) [D:\muqi\mpconf
ig\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\src\utilities.cc(18): fatal error C1083: �޷��򿪰����ļ�: ��napi.h� �: No s
ch file or directory [D:\muqi\mpconfig\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\src\stats.cc(19): fatal error C1083: �޷��򿪰����ļ�: ��napi.h��: N o such 
ile or directory [D:\muqi\mpconfig\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gatomic.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\pipeline.cc) [D:\muqi\mpconfig\no
de_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\pipeline.cc) [D:\muqi\mpconfig
\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\src\common.cc(22): fatal error C1083: �޷��򿪰����ļ�: ��napi.h��:  No such
file or directory [D:\muqi\mpconfig\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\src\pipeline.cc(28): fatal error C1083: �޷��򿪰����ļ�: ��napi.h�� : No su
h file or directory [D:\muqi\mpconfig\node_modules\sharp\build\sharp.vcxproj]
d:\muqi\mpconfig\node_modules\sharp\src\common.h(22): fatal error C1083: �޷��򿪰����ļ�: ��napi.h��: N o such 
ile or directory (����Դ�ļ� ..\src\operations.cc) [D:\muqi\mpconfig\node_modules\sharp\build\sharp.vcxproj]  

Error output:
node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://github.com/yanyiwu/nodejieba/releases/download/2.4.1/nodejieba-v2.4.1-electron-v6.1-win32-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (electron-v6.1 ABI, unknown) (falling back to source compile with node-gyp)
info sharp Using existing vendored libvips v8.9.1
info sharp Creating D:\muqi\mpconfig\node_modules\sharp\build\Release
info sharp Copying DLLs from D:\muqi\mpconfig\node_modules\sharp\vendor\lib to D:\muqi\mpconfig\node_modules\sharp\build\Release
prebuild-install WARN This package does not support N-API version 6.1.9 
prebuild-install WARN install Request timed out
gyp ERR! build error 
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:223:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.18363
gyp ERR! command "D:\\Program Files\\nodejs\\node.exe" "D:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\muqi\mpconfig\node_modules\sharp
gyp ERR! node -v v12.14.1
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `(node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\lili\AppData\Roaming\npm-cache\_logs\2020-07-14T04_18_53_284Z-debug.log

    at ChildProcess.<anonymous> (D:\muqi\mpconfig\node_modules\builder-util\src\util.ts:244:14)
    at Object.onceWrapper (events.js:313:26)
    at ChildProcess.emit (events.js:223:5)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
From previous event:
    at _rebuild (D:\muqi\mpconfig\node_modules\app-builder-lib\src\util\yarn.ts:179:5)
    at rebuild (D:\muqi\mpconfig\node_modules\app-builder-lib\out\util\yarn.js:163:19)
    at D:\muqi\mpconfig\node_modules\app-builder-lib\src\util\yarn.ts:20:11
    at Generator.next (<anonymous>)
    at processImmediate (internal/timers.js:439:21)
From previous event:
    at _installOrRebuild (D:\muqi\mpconfig\node_modules\app-builder-lib\out\util\yarn.js:71:28)
    at installOrRebuild (D:\muqi\mpconfig\node_modules\app-builder-lib\out\util\yarn.js:55:28)
    at D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:509:13
    at Generator.next (<anonymous>)
From previous event:
    at Packager.installAppDependencies (D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:470:70)
    at D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:420:20
    at Generator.next (<anonymous>)
From previous event:
    at Packager.doBuild (D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:396:24)
    at D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:366:57
    at Generator.next (<anonymous>)
    at D:\muqi\mpconfig\node_modules\graceful-fs\graceful-fs.js:136:16
    at D:\muqi\mpconfig\node_modules\graceful-fs\graceful-fs.js:57:14
    at FSReqCallback.oncomplete (fs.js:146:23)
From previous event:
    at Packager._build (D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:335:133)
    at D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:331:23
    at Generator.next (<anonymous>)
    at processImmediate (internal/timers.js:439:21)
From previous event:
    at Packager.build (D:\muqi\mpconfig\node_modules\app-builder-lib\src\packager.ts:288:14)
    at build (D:\muqi\mpconfig\node_modules\app-builder-lib\src\index.ts:59:28)
    at build (D:\muqi\mpconfig\node_modules\electron-builder\src\builder.ts:228:10)
    at D:\muqi\mpconfig\node_modules\electron-builder\src\cli\cli.ts:49:19
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `node .electron-vue/build.js && electron-builder`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\lili\AppData\Roaming\npm-cache\_logs\2020-07-14T04_18_53_438Z-debug.log

Tip: nodejiba is another native lib. If I don't install sharp, I can build it successfully
Any help is very much appreciated

enhancement ready-to-ship

Most helpful comment

Additional

i use the [email protected]. it works well

All 5 comments

Additional

i use the [email protected]. it works well

The salient part of this log, which doesn't appear to interleave stdout and stderr so is a little hard to follow, is:

prebuild-install WARN This package does not support N-API version 6.1.9

This suggests electron-builder is unable to set the runtime to Electron before attempting to reinstall (I assume you're using Electron 6.1.9).

My best guess would be that the --runtime flag here is conflicting somewhere around here but this doesn't explain why 0.25.2 would work whereas 0.25.4 does not, unless perhaps there's a race condition.

Commit https://github.com/lovell/sharp/commit/48609422d6c61b4b0afbcd57f96a0e4dd31f4076 reduces the precedence if this is the reason. However it might not be and it'll be hard to confirm without a release as this logic depends on prebuilt binaries.

I also added commit https://github.com/lovell/sharp/commit/dcc42f85148ba3697c6b56f803c485013c0ca29b to ensure both runtime and target are set in a consistent manner. This will be in v0.26.0.

thanks a lot!

v0.26.0 now available.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sansroman picture sansroman  ·  3Comments

natural-law picture natural-law  ·  3Comments

AVVS picture AVVS  ·  3Comments

genifycom picture genifycom  ·  3Comments

emmtte picture emmtte  ·  3Comments