forge
forge copied to clipboard
Building @electron-forge/[email protected] fails with both node 18 and 20
Pre-flight checklist
- [X] I have read the contribution documentation for this project.
- [X] I agree to follow the code of conduct that this project uses.
- [X] I have searched the issue tracker for a bug that matches the one I want to file, without success.
Electron Forge version
6.4.2
Electron version
28.2.2
Operating system
macOS 14.4 (Silicon)
Last known working Electron Forge version
None
Expected behavior
I would expect to be able to install the @electron-forge/maker-dmg package
Actual behavior
Installting with yarn add @electron-forge/maker-dmg
fails with the following error (fyi, the error is identical for node 20)
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | arm64
gyp info find Python using Python version 3.11.6 found at "/Users/hendrikbelitz/miniforge3/bin/python3"
gyp info spawn /Users/hendrikbelitz/miniforge3/bin/python3
gyp info spawn args [
gyp info spawn args '/Users/hendrikbelitz/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/hendrikbelitz/git/mieterbund/word4mia/node_modules/macos-alias/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/hendrikbelitz/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/hendrikbelitz/.electron-gyp/28.2.2/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/hendrikbelitz/.electron-gyp/28.2.2',
gyp info spawn args '-Dnode_gyp_dir=/Users/hendrikbelitz/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/hendrikbelitz/.electron-gyp/28.2.2/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/hendrikbelitz/git/mieterbund/word4mia/node_modules/macos-alias',
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 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
In file included from ../src/volume.cc:2:
../../nan/nan.h:688:39: warning: 'IdleNotificationDeadline' is deprecated: Use MemoryPressureNotification() to influence the GC schedule. [-Wdeprecated-declarations]
return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
^
/Users/hendrikbelitz/.electron-gyp/28.2.2/include/node/v8-isolate.h:1343:3: note: 'IdleNotificationDeadline' has been explicitly marked deprecated here
V8_DEPRECATE_SOON(
^
/Users/hendrikbelitz/.electron-gyp/28.2.2/include/node/v8config.h:561:41: note: expanded from macro 'V8_DEPRECATE_SOON'
# define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
^
In file included from ../src/volume.cc:2:
../../nan/nan.h:2548:8: error: no matching member function for call to 'SetAccessor'
tpl->SetAccessor(
~~~~~^~~~~~~~~~~
/Users/hendrikbelitz/.electron-gyp/28.2.2/include/node/v8-template.h:816:8: note: candidate function not viable: no known conversion from 'v8::PropertyAttribute' to 'AccessControl' for 5th argument
void SetAccessor(
^
/Users/hendrikbelitz/.electron-gyp/28.2.2/include/node/v8-template.h:809:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'AccessorGetterCallback' (aka 'void (*)(Local<String>, const PropertyCallbackInfo<Value> &)') for 2nd argument
void SetAccessor(
^
In file included from ../src/volume.cc:2:
../../nan/nan.h:2596:8: error: no matching member function for call to 'SetAccessor'
tpl->SetAccessor(
~~~~~^~~~~~~~~~~
/Users/hendrikbelitz/.electron-gyp/28.2.2/include/node/v8-template.h:816:8: note: candidate function not viable: no known conversion from 'v8::PropertyAttribute' to 'AccessControl' for 5th argument
void SetAccessor(
^
/Users/hendrikbelitz/.electron-gyp/28.2.2/include/node/v8-template.h:809:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'AccessorGetterCallback' (aka 'void (*)(Local<String>, const PropertyCallbackInfo<Value> &)') for 2nd argument
void SetAccessor(
^
1 warning and 2 errors generated.
make: *** [Release/obj.target/volume/src/volume.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/Users/hendrikbelitz/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Darwin 23.4.0
gyp ERR! command "/Users/hendrikbelitz/.nvm/versions/node/v18.19.1/bin/node" "/Users/hendrikbelitz/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/hendrikbelitz/git/mieterbund/word4mia/node_modules/macos-alias
gyp ERR! node -v v18.19.1
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok
Steps to reproduce
Create a new Electron project, including electron forge. Try to install the dmg maker.
Additional information
No response
Hi, I have the same issue, but not with forge. I am trying to package the application on M1 chip with exactly the same error. I know, that it is not informative at all, but just telling, that it might be not the forge.
In my case it stops with
• rebuilding native dependency name=cpu-features version=0.0.9
• cannot build optional native dependency name=cpu-features
version=0.0.9
cause=exit status 1
gyp info using [email protected]
gyp info using [email protected] | darwin | arm64
@alexandrbig I moved some steps forward by upgrading electron to 29.x.
I ran into other problems than (mostly node packages compiled with the wrong node version), but most of that was solvable by running npm rebuild on the corresponding packages.
I was able to build a Universal Binary DMG package with that yesterday, although fixing all that stuff step by step and waiting several minutes each time for the next error message was quite tedious.