justinlatimer / node-midi

A node.js wrapper for RtMidi providing MIDI I/O
MIT License
745 stars 119 forks source link

electron-rebuild fails #239

Open kmoon2437 opened 5 months ago

kmoon2437 commented 5 months ago

I tried to use this module with electron, but electron-rebuild fails with errors.

Here is the error message:

⠋ Searching dependency tree  electron-rebuild rebuilding with args: [Arguments] {
  '0': {
    buildPath: 'G:\\electron_dev\\yjkl-editor',
    electronVersion: '30.1.0',
    arch: 'x64',
    extraModules: [],
    onlyModules: null,
    force: undefined,
    headerURL: undefined,
    types: [ 'prod', 'optional' ],
    mode: undefined,
    debug: undefined,
    prebuildTagPrefix: 'v',
    forceABI: undefined,
    useElectronClang: false,
    disablePreGypCopy: false,
    projectRootPath: 'G:\\electron_dev\\yjkl-editor',
    buildFromSource: false
  }
} +0ms
  electron-rebuild ignoreModules [] +5ms
  electron-rebuild rebuilding with args: G:\electron_dev\yjkl-editor 30.1.0 x64 Set(0) {} false https://www.electronjs.org/headers [ 'prod', 'optional' ] false +0ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\@fortawesome\fontawesome-free +0ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\bootstrap +1ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\esm-utils +0ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\jquery +2ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\json5 +40ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\import-meta-resolve +2ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\url-or-path +0ms
⠙ Searching dependency tree  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\midi +18ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\bindings +21ms
  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\nan +0ms
⠹ Searching dependency tree  electron-rebuild exploring G:\electron_dev\yjkl-editor\node_modules\file-uri-to-path +52ms
  electron-rebuild identified prod deps: Set(0) {
  '@fortawesome/fontawesome-free': true,
  bootstrap: true,
  'esm-utils': true,
  jquery: true,
  json5: true,
  'import-meta-resolve': true,
  'url-or-path': true,
  midi: true,
  bindings: true,
  nan: true,
  'file-uri-to-path': true
} +54ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules +3ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@electron +3ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@electron\rebuild\node_modules +3ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@fortawesome +5ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@gar +1ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@malept +2ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@npmcli +2ms
⠸ Searching dependency tree  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@npmcli\fs\node_modules +16ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@popperjs +14ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@sindresorhus +17ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@szmarczak +2ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@tootallnate +3ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\@types +2ms
⠼ Searching dependency tree  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\cacache\node_modules +74ms
⠴ Searching dependency tree  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\decompress-response\node_modules +66ms
⠧ Searching dependency tree  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\global-agent\node_modules +175ms
⠇ Searching dependency tree  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\node-abi\node_modules +114ms
  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\node-gyp\node_modules +12ms
⠋ Searching dependency tree  electron-rebuild scanning: G:\electron_dev\yjkl-editor\node_modules\tar\node_modules +114ms
  electron-rebuild checking midi against [] +871ms
  electron-rebuild rebuilding midi with args [
  'node',
  'node-gyp',
  'rebuild',
  '--runtime=electron',
  '--target=30.1.0',
  '--arch=x64',
  '--dist-url=https://www.electronjs.org/headers',
  '--build-from-source',
  '--verbose'
] +0ms
⠧ Building module: midi, Completed: 0gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb download using dist-url https://www.electronjs.org/headers
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python3" can be used
gyp verb find Python - executing "python3" to get executable path
gyp verb find Python - "python3" is not in PATH or produced an error
gyp verb find Python checking if "python" can be used
gyp verb find Python - executing "python" to get executable path
gyp verb find Python - executable path is "C:\Python310\python.exe"
gyp verb find Python - executing "C:\Python310\python.exe" to get version
gyp verb find Python - version is "3.10.7"
gyp info find Python using Python version 3.10.7 found at "C:\Python310\python.exe"
gyp verb get node dir compiling against --target node version: 30.1.0
gyp verb command install [ '30.1.0' ]
gyp verb download using dist-url https://www.electronjs.org/headers
gyp verb install input version string "30.1.0"
gyp verb install installing version: 30.1.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 30.1.0
gyp verb build dir attempting to create "build" dir: G:\electron_dev\yjkl-editor\node_modules\midi\build
gyp verb build dir "build" dir needed to be created? Yes
gyp verb find VS msvs_version not set from command line or npm config
gyp verb find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp verb find VS checking VS2022 (17.10.34928.147) found at:
gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"
gyp verb find VS - found "Visual Studio C++ core features"
gyp verb find VS - found VC++ toolset: v143
gyp verb find VS - missing any Windows SDK
gyp verb find VS checking VS2019 (16.11.32929.386) found at:
gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
gyp verb find VS - found "Visual Studio C++ core features"
gyp verb find VS - found VC++ toolset: v142
gyp verb find VS - found Windows SDK: 10.0.19041.0
gyp info find VS using VS2019 (16.11.32929.386) found at:
gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
gyp info find VS run with --verbose for detailed information
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: G:\electron_dev\yjkl-editor\node_modules\midi\build\config.gypi
gyp verb config.gypi checking for gypi file: G:\electron_dev\yjkl-editor\node_modules\midi\config.gypi
gyp verb common.gypi checking for gypi file: G:\electron_dev\yjkl-editor\node_modules\midi\common.gypi
gyp verb gyp gyp format was not specified; forcing "msvs"
gyp info spawn C:\Python310\python.exe
gyp info spawn args [
gyp info spawn args   'G:\\electron_dev\\yjkl-editor\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-I',
gyp info spawn args   'G:\\electron_dev\\yjkl-editor\\node_modules\\midi\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'G:\\electron_dev\\yjkl-editor\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\kmoon\\.electron-gyp\\30.1.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\kmoon\\.electron-gyp\\30.1.0',
gyp info spawn args   '-Dnode_gyp_dir=G:\\electron_dev\\yjkl-editor\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\kmoon\\\\.electron-gyp\\\\30.1.0\\\\<(target_arch)\\\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=G:\\electron_dev\\yjkl-editor\\node_modules\\midi',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'G:\\electron_dev\\yjkl-editor\\node_modules\\midi\\build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp verb command build [ map: [Function (anonymous)] ]
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir C:\Users\kmoon\.electron-gyp\30.1.0
gyp verb found first Solution file build/binding.sln
gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe
gyp info spawn args [
gyp info spawn args   'build/binding.sln',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64',
gyp info spawn args   map: [Function (anonymous)]
gyp info spawn args ]
이 솔루션의 프로젝트를 한 번에 하나씩 빌드합니다. 병렬 빌드를 사용하려면 "-m" 스위치를 추가하세요.
빌드 시작: 2024-06-06 오후 7:13:26
1 노드의 "G:\electron_dev\yjkl-editor\node_modules\midi\build\binding.sln" 프로젝트(기본 대상)입니다.
ValidateSolutionConfiguration:
  솔루션 구성 "Release|x64"을(를) 빌드하고 있습니다.
"G:\electron_dev\yjkl-editor\node_modules\midi\build\binding.sln"(1) 프로젝트가 1 노드에서 "G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj"(2)을(를) 빌드하고 있습니다(기본 대상).        
PrepareForBuild:
  "Release\obj\midi\" 디렉터리를 만들고 있습니다.
  "Release\obj\midi\midi.tlog\" 디렉터리를 만들고 있습니다.
InitializeBuildStatus:
  "AlwaysCreate"이(가) 지정되었기 때문에 "Release\obj\midi\midi.tlog\unsuccessfulbuild"을(를) 만들고 있습니다.
MakeDirsForCl:
  "G:\electron_dev\yjkl-editor\node_modules\midi\build\Release\obj\midi\vendor\rtmidi" 디렉터리를 만들고 있습니다.
  "G:\electron_dev\yjkl-editor\node_modules\midi\build\Release\obj\midi\src" 디렉터리를 만들고 있습니다.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\CL.exe /c /I"C:\Users\kmoon\.electron-gyp\30.1.0\include\node" /I"C:\Users\kmoon\.electron-gyp\30.1.0\src" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\openssl\config" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\openssl\openssl\include" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\uv\include" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\zlib" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\v8\include" /I..\..\nan /I..\src /I..\vendor\rtmidi /Z7 /nologo /W3 /WX- /diagnostics:column /MP /Ox /Ob2 /Oi /Ot /Oy /GL /D NODE_GYP_MODULE_NAME=midi /D USING_UV_SHARED=1 /D USING_V8_SHARED=1 /D V8_DEPRECATION_WARNINGS=1 /D _GLIBCXX_USE_CXX11_ABI=1 /D ELECTRON_ENSURE_CONFIG_GYPI /D USING_ELECTRON_CONFIG_GYPI /D V8_COMPRESS_POINTERS /D V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE /D V8_31BIT_SMIS_ON_64BIT_ARCH /D V8_ENABLE_SANDBOX /D WIN32 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _HAS_EXCEPTIONS=0 /D OPENSSL_NO_PINSHARED /D OPENSSL_THREADS /D OPENSSL_NO_ASM /D __WINDOWS_MM__ /D RT_SYSEX_BUFFER_SIZE=2048 /D RTMIDI_DO_NOT_ENSURE_UNIQUE_PORTNAMES /D BUILDING_NODE_EXTENSION /D "HOST_BINARY=\"node.exe\"" /D _WINDLL 
/GF /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR- /Fo"Release\obj\midi\\vendor\rtmidi\RtMidi.obj" /Fd"Release\obj\midi\vc142.pdb" /external:W3 /Gd /TP /wd4351 /wd4355 /wd4800 /wd4251 /wd4275 /wd4244 /wd4267 /FC /errorReport:queue /Zc:__cplusplus -std:c++17 ..\vendor\rtmidi\RtMidi.cpp
  RtMidi.cpp
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\CL.exe /c /I"C:\Users\kmoon\.electron-gyp\30.1.0\include\node" /I"C:\Users\kmoon\.electron-gyp\30.1.0\src" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\openssl\config" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\openssl\openssl\include" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\uv\include" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\zlib" /I"C:\Users\kmoon\.electron-gyp\30.1.0\deps\v8\include" /I..\..\nan /I..\src /I..\vendor\rtmidi /Z7 /nologo /W3 /WX- /diagnostics:column /MP /Ox /Ob2 /Oi /Ot /Oy /GL /D NODE_GYP_MODULE_NAME=midi /D USING_UV_SHARED=1 /D USING_V8_SHARED=1 /D V8_DEPRECATION_WARNINGS=1 /D _GLIBCXX_USE_CXX11_ABI=1 /D ELECTRON_ENSURE_CONFIG_GYPI /D USING_ELECTRON_CONFIG_GYPI /D V8_COMPRESS_POINTERS /D V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE /D V8_31BIT_SMIS_ON_64BIT_ARCH /D V8_ENABLE_SANDBOX /D WIN32 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _HAS_EXCEPTIONS=0 /D OPENSSL_NO_PINSHARED /D OPENSSL_THREADS /D OPENSSL_NO_ASM /D __WINDOWS_MM__ /D RT_SYSEX_BUFFER_SIZE=2048 /D RTMIDI_DO_NOT_ENSURE_UNIQUE_PORTNAMES /D BUILDING_NODE_EXTENSION /D "HOST_BINARY=\"node.exe\"" /D _WINDLL 
/GF /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR- /Fo"Release\obj\midi\\src\input.obj" /Fd"Release\obj\midi\vc142.pdb" /external:W3 /Gd /TP /wd4351 /wd4355 /wd4800 /wd4251 /wd4275 /wd4244 /wd4267 /FC /errorReport:queue /Zc:__cplusplus -std:c++17 ..\src\input.cpp
  input.cpp
C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-function-callback.h(408,62): warning C4003: 함수 같은 매크로 호출 'min'에 대해 인수가 부족합니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-function-callback.h(409,62): warning C4003: 함수 같은 매크로 호출 'max'에 대해 인수가 부족합니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-platform.h(1,1): warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드
 형식으로 저장하십시오. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
C:\Users\kmoon\.electron-gyp\30.1.0\include\node\node.h(1305,1): warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형 
식으로 저장하십시오. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
G:\electron_dev\yjkl-editor\node_modules\nan\nan.h(2546,6): error C2664: 'void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>,v8::AccessorGetterCallback,v8::AccessorSetterCallback,v8::Local<v8::Value>,v8::PropertyAttribute,v8::SideEffectType,v8::SideEffectType)': 인수 2을(를) 'Nan::imp::NativeGetter'에서 'v8::AccessorGetterCallback'(으)로 변환할 수 없습니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
G:\electron_dev\yjkl-editor\node_modules\nan\nan.h(2548,7): message : 변환하려면 reinterpret_cast, C 스타일 캐스트 또는 함수 스타일 캐스트가 필요합니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-template.h(1049,8): message : 'v8::ObjectTemplate::SetAccessor' 선언을 참조하십시오. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj] 
G:\electron_dev\yjkl-editor\node_modules\nan\nan.h(2592,6): error C2664: 'void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>,v8::AccessorGetterCallback,v8::AccessorSetterCallback,v8::Local<v8::Value>,v8::PropertyAttribute,v8::SideEffectType,v8::SideEffectType)': 인수 2을(를) 'Nan::imp::NativeGetter'에서 'v8::AccessorGetterCallback'(으)로 변환할 수 없습니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
G:\electron_dev\yjkl-editor\node_modules\nan\nan.h(2594,7): message : 변환하려면 reinterpret_cast, C 스타일 캐스트 또는 함수 스타일 캐스트가 필요합니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-template.h(1049,8): message : 'v8::ObjectTemplate::SetAccessor' 선언을 참조하십시오. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj] 
G:\electron_dev\yjkl-editor\node_modules\midi\src\input.cpp(91,22): warning C4996: 'Nan::Callback::Call': deprecated로 선언되었습니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]   
"G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj" 프로젝트를 빌드했습니다(기본 대상). - 실패
"G:\electron_dev\yjkl-editor\node_modules\midi\build\binding.sln" 프로젝트를 빌드했습니다(기본 대상). - 실패

빌드하지 못했습니다.

"G:\electron_dev\yjkl-editor\node_modules\midi\build\binding.sln"(기본 대상)(1)->
"G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj"(기본 대상)(2)->
(ClCompile 대상) ->
  C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-function-callback.h(408,62): warning C4003: 함수 같은 매크로 호출 'min'에 대해 인수가 부족합니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
  C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-function-callback.h(409,62): warning C4003: 함수 같은 매크로 호출 'max'에 대해 인수가 부족합니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
  C:\Users\kmoon\.electron-gyp\30.1.0\include\node\v8-platform.h(1,1): warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코
드 형식으로 저장하십시오. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
  C:\Users\kmoon\.electron-gyp\30.1.0\include\node\node.h(1305,1): warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드  
형식으로 저장하십시오. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
  G:\electron_dev\yjkl-editor\node_modules\midi\src\input.cpp(91,22): warning C4996: 'Nan::Callback::Call': deprecated로 선언되었습니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj] 

"G:\electron_dev\yjkl-editor\node_modules\midi\build\binding.sln"(기본 대상)(1)->
"G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj"(기본 대상)(2)->
(ClCompile 대상) ->
  G:\electron_dev\yjkl-editor\node_modules\nan\nan.h(2546,6): error C2664: 'void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>,v8::AccessorGetterCallback,v8::AccessorSetterCallback,v8::Local<v8::Value>,v8::PropertyAttribute,v8::SideEffectType,v8::SideEffectType)': 인수 2을(를) 'Nan::imp::NativeGetter'에서 'v8::AccessorGetterCallback'(으)로 변환할 수 없습니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]
  G:\electron_dev\yjkl-editor\node_modules\nan\nan.h(2592,6): error C2664: 'void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>,v8::AccessorGetterCallback,v8::AccessorSetterCallback,v8::Local<v8::Value>,v8::PropertyAttribute,v8::SideEffectType,v8::SideEffectType)': 인수 2을(를) 'Nan::imp::NativeGetter'에서 'v8::AccessorGetterCallback'(으)로 변환할 수 없습니다. [G:\electron_dev\yjkl-editor\node_modules\midi\build\midi.vcxproj]

    경고 5개
    오류 2개

경과 시간: 00:00:04.11
Error: `C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
    at ChildProcess.onExit (G:\electron_dev\yjkl-editor\node_modules\node-gyp\lib\build.js:203:23)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)

✖ Rebuild Failed

An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild 'G:\electron_dev\yjkl-editor\node_modules\midi'

Error: node-gyp failed to rebuild 'G:\electron_dev\yjkl-editor\node_modules\midi'
    at ChildProcess.<anonymous> (G:\electron_dev\yjkl-editor\node_modules\@electron\rebuild\lib\module-type\node-gyp\node-gyp.js:118:24)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
Julusian commented 5 months ago

This project looks to not be maintained anymore. Instead you can use my fork @julusian/midi My fork has been tested and is used in recent nodejs and electron versions. You won't need eletron-rebuild to rebuild it either, but it also works fine if you do