Level / leveldown

Pure C++ Node.js LevelDB binding. An abstract-leveldown compliant store.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

failed to rebuild leveldown in Electron on Mac

captainchain opened this issue · comments

node v12.18.3
Mac: 10.15.7
Electron v11.0.3
"level": "^6.0.1",

I have a project need to use 'level', when I tried to run yarn run dev, the Electron compiled successfully and the window started , but the console shows:

Click to expand
Uncaught Error: The module '/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/prebuilds/darwin-x64/node.napi.node'
was compiled against the ABI-stable Node.js API (N-API).
This feature is experimental and must be enabled on the 
command-line by adding --napi-modules.
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
    at Object.Module._extensions..node (module.js:598:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:172:20)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at load (/Users/captain/Downloads/electron-vue-admin-master/node_modules/node-gyp-build/index.js:20:10)
    at Object.<anonymous> (/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/binding.js:1:198)

then I tried to solve the problem by adding --napi-modules into scripts.dev of package.json like this:

node --napi-modules --napi-modules .electron-vue/dev-runner.js

not works, so I decided to rebuild level down, but still not work. Following logs seems like the version is not match ,but I don't know how to figure it out, could any one help?

Click to expand
captainsMBP:electron-vue-admin-master captain$ yarn run rebuild
yarn run v1.22.4
$ electron-rebuild leveldown
⠙ Building module: leveldown, Completed: 0gyp info find Python using Python version 3.7.8 found at "/Library/Frameworks/Python.framework/Versions/3.7/bin/python3"
⠹ Building module: leveldown, Completed: 0gyp info spawn /Library/Frameworks/Python.framework/Versions/3.7/bin/python3
gyp info spawn args [
gyp info spawn args   '/Users/captain/Downloads/electron-vue-admin-master/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/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/captain/Downloads/electron-vue-admin-master/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8',
gyp info spawn args   '-Dnode_gyp_dir=/Users/captain/Downloads/electron-vue-admin-master/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/<(target_arch)/iojs.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown',
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 ]
⠴ Building module: leveldown, Completed: 0gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/builder.o
⠇ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/db_impl.o
⠴ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/db_iter.o
⠏ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/filename.o
⠸ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/dbformat.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/log_reader.o
⠧ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/log_writer.o
⠇ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/memtable.o
⠙ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/repair.o
⠹ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/table_cache.o
⠸ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/version_edit.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/version_set.o
⠋ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/write_batch.o
⠙ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.o
⠸ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/port/port_posix_sse.o
⠹ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/block.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/block_builder.o
⠦ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/filter_block.o
⠋ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/format.o
⠙ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/iterator.o
⠏ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/merger.o
⠏ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/table.o
⠙ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/table_builder.o
⠦ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/two_level_iterator.o
⠋ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/arena.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/bloom.o
⠸ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/cache.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/coding.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/comparator.o
⠴ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/crc32c.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/env.o
⠦ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/filter_policy.o
⠴ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/hash.o
⠸ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/logging.o
⠸ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/options.o
⠙ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/status.o
⠋ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/port/port_posix.o
⠇ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/env_posix.o
⠴ Building module: leveldown, Completed: 0  LIBTOOL-STATIC Release/leveldb.a
⠙ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/snappy/deps/snappy/snappy/snappy-sinksource.o
⠼ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/snappy/deps/snappy/snappy/snappy-stubs-internal.o
⠸ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/snappy/deps/snappy/snappy/snappy.o
⠴ Building module: leveldown, Completed: 0  LIBTOOL-STATIC Release/snappy.a
⠇ Building module: leveldown, Completed: 0  CXX(target) Release/obj.target/leveldown/binding.o
⠴ Building module: leveldown, Completed: 0../binding.cc:104:3: error: no matching function for call to 'napi_create_error'
  napi_create_error(env, NULL, msg, &error);
  ^~~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:153:25: note: candidate function not viable: requires 3 arguments, but 4 were
      provided
NAPI_EXTERN napi_status napi_create_error(napi_env env,
                        ^
../binding.cc:271:5: error: no matching function for call to 'napi_throw_error'
    NAPI_STATUS_THROWS_VOID(napi_create_reference(env_, callback, 1, &callbackRef_));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:22:5: note: expanded from macro 'NAPI_STATUS_THROWS_VOID'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:274:48: error: use of undeclared identifier 'NAPI_AUTO_LENGTH'
                                               NAPI_AUTO_LENGTH,
                                               ^
../binding.cc:273:5: error: no matching function for call to 'napi_throw_error'
    NAPI_STATUS_THROWS_VOID(napi_create_string_utf8(env_, resourceName,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:22:5: note: expanded from macro 'NAPI_STATUS_THROWS_VOID'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:276:29: error: no matching function for call to 'napi_create_async_work'
    NAPI_STATUS_THROWS_VOID(napi_create_async_work(env_, callback,
                            ^~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:21:8: note: expanded from macro 'NAPI_STATUS_THROWS_VOID'
  if ((call) != napi_ok) { \
       ^~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:490:13: note: candidate function not viable: requires 5 arguments, but 7 were
      provided
napi_status napi_create_async_work(napi_env env,
            ^
../binding.cc:276:5: error: no matching function for call to 'napi_throw_error'
    NAPI_STATUS_THROWS_VOID(napi_create_async_work(env_, callback,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:22:5: note: expanded from macro 'NAPI_STATUS_THROWS_VOID'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
⠦ Building module: leveldown, Completed: 0../binding.cc:748:3: error: no matching function for call to 'napi_throw_error'
  NAPI_STATUS_THROWS(napi_create_external(env, database,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:800:3: error: no matching function for call to 'napi_throw_error'
  NAPI_ARGV(4);
  ^~~~~~~~~~~~
../../napi-macros/napi-macros.h:197:3: note: expanded from macro 'NAPI_ARGV'
  NAPI_STATUS_THROWS(napi_get_cb_info(env, info, &argc, argv, NULL, NULL))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:801:3: error: no matching function for call to 'napi_throw_error'
  NAPI_DB_CONTEXT();
  ^~~~~~~~~~~~~~~~~
../binding.cc:28:3: note: expanded from macro 'NAPI_DB_CONTEXT'
  NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], (void**)&database));
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:802:3: error: no matching function for call to 'napi_throw_error'
  NAPI_ARGV_UTF8_NEW(location, 1);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../binding.cc:49:3: note: expanded from macro 'NAPI_ARGV_UTF8_NEW'
  NAPI_UTF8_NEW(name, argv[i])
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../binding.cc:43:3: note: expanded from macro 'NAPI_UTF8_NEW'
  NAPI_STATUS_THROWS(napi_get_value_string_utf8(env, val, NULL, 0, &name##_size)) \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:802:3: error: no matching function for call to 'napi_throw_error'
  NAPI_ARGV_UTF8_NEW(location, 1);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../binding.cc:49:3: note: expanded from macro 'NAPI_ARGV_UTF8_NEW'
  NAPI_UTF8_NEW(name, argv[i])
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../binding.cc:45:3: note: expanded from macro 'NAPI_UTF8_NEW'
  NAPI_STATUS_THROWS(napi_get_value_string_utf8(env, val, name, name##_size + 1, &name##_size)) \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:855:3: error: no matching function for call to 'napi_throw_error'
  NAPI_ARGV(2);
  ^~~~~~~~~~~~
../../napi-macros/napi-macros.h:197:3: note: expanded from macro 'NAPI_ARGV'
  NAPI_STATUS_THROWS(napi_get_cb_info(env, info, &argc, argv, NULL, NULL))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:856:3: error: no matching function for call to 'napi_throw_error'
  NAPI_DB_CONTEXT();
  ^~~~~~~~~~~~~~~~~
../binding.cc:28:3: note: expanded from macro 'NAPI_DB_CONTEXT'
  NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], (void**)&database));
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
                                                                                                                : candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
⠧ Building module: leveldown, Completed: 0../binding.cc:869:3: error: no matching function for call to 'napi_create_function'
  napi_create_function(env, NULL, 0, noop_callback, NULL, &noop);
  ^~~~~~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:148:25: note: candidate function not viable: requires 5 arguments, but 6 were
      provided
NAPI_EXTERN napi_status napi_create_function(napi_env env,
                        ^
../binding.cc:914:3: error: no matching function for call to 'napi_throw_error'
  NAPI_ARGV(5);
  ^~~~~~~~~~~~
../../napi-macros/napi-macros.h:197:3: note: expanded from macro 'NAPI_ARGV'
  NAPI_STATUS_THROWS(napi_get_cb_info(env, info, &argc, argv, NULL, NULL))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:915:3: error: no matching function for call to 'napi_throw_error'
  NAPI_DB_CONTEXT();
  ^~~~~~~~~~~~~~~~~
../binding.cc:28:3: note: expanded from macro 'NAPI_DB_CONTEXT'
  NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], (void**)&database));
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:977:3: error: no matching function for call to 'napi_throw_error'
  NAPI_ARGV(4);
  ^~~~~~~~~~~~
../../napi-macros/napi-macros.h:197:3: note: expanded from macro 'NAPI_ARGV'
  NAPI_STATUS_THROWS(napi_get_cb_info(env, info, &argc, argv, NULL, NULL))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:978:3: error: no matching function for call to 'napi_throw_error'
  NAPI_DB_CONTEXT();
  ^~~~~~~~~~~~~~~~~
../binding.cc:28:3: note: expanded from macro 'NAPI_DB_CONTEXT'
  NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], (void**)&database));
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
../binding.cc:1023:3: error: no matching function for call to 'napi_throw_error'
  NAPI_ARGV(4);
  ^~~~~~~~~~~~
../../napi-macros/napi-macros.h:197:3: note: expanded from macro 'NAPI_ARGV'
  NAPI_STATUS_THROWS(napi_get_cb_info(env, info, &argc, argv, NULL, NULL))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../napi-macros/napi-macros.h:28:5: note: expanded from macro 'NAPI_STATUS_THROWS'
    napi_throw_error(env, NULL, #call " failed!"); \
    ^~~~~~~~~~~~~~~~
/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown/iojs-1.8.8/src/node_api.h:416:25: note: candidate function not viable: requires 2 arguments, but 3 were
      provided
NAPI_EXTERN napi_status napi_throw_error(napi_env env, const char* msg);
                        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
⠇ Building module: leveldown, Completed: 020 errors generated.
make: *** [Release/obj.target/leveldown/binding.o] Error 1
✖ Rebuild Failed

An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild '/Users/captain/Downloads/electron-vue-admin-master/node_modules/leveldown'.
Error: `make` failed with exit code: 2

Electron has had non-experimental support for N-API for a quite a while now (since around version 3) and shouldn't need --napi-modules. Can you double-check the Electron version? Running npm ls electron may help.