gpt4 book ai didi

javascript - 如何修复 NPM 安装 SQLite 构建失败?

转载 作者:搜寻专家 更新时间:2023-10-31 23:50:02 25 4
gpt4 key购买 nike

我刚刚安装了 macOS Mojave 并安装了最新版本的 node 12.1.0npm 6.9.0brew 2.1.1 Darwin 上的 Python 2.7.10。我在 package.json 中为带有 "sqlite3": "4.0.6" 的项目运行 npm install 并收到以下日志消息,该消息在 sqlite3@4.0.6 安装脚本中失败。我如何才能修复错误并成功安装 SQLite?它在 v8 函数中中断并显示错误日志,这里是错误日志的部分快照,我删除了一些 v8 错误以发布日志。

✗ npm install

> sqlite3@4.0.6 install /Users/default/Desktop/personal/default/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.0.6/node-v72-darwin-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.0.6 and node@12.1.0 (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3260000/sqlite3.c
TOUCH Release/obj.target/deps/action_before_build.stamp
CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3260000/sqlite3.o
LIBTOOL-STATIC Release/sqlite3.a
CXX(target) Release/obj.target/node_sqlite3/src/database.o
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
In file included from ../node_modules/nan/nan.h:202:
In file included from ../node_modules/nan/nan_converters.h:67:
../node_modules/nan/nan_converters_43_inl.h:22:1: warning: 'ToBoolean' is deprecated: ToBoolean can never throw. Use Local
version. [-Wdeprecated-declarations]
X(Boolean)
^
../node_modules/nan/nan_converters_43_inl.h:18:12: note: expanded from macro 'X'
val->To ## TYPE(isolate->GetCurrentContext()) \
^
<scratch space>:31:1: note: expanded from here
ToBoolean
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:2523:3: note: 'ToBoolean' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("ToBoolean can never throw. Use Local version.",
^
/Users/default/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
In file included from ../node_modules/nan/nan.h:202:
In file included from ../node_modules/nan/nan_converters.h:67:
../node_modules/nan/nan_converters_43_inl.h:40:1: warning: 'BooleanValue' is deprecated: BooleanValue can never throw. Use
Isolate version. [-Wdeprecated-declarations]
X(bool, Boolean)
^
../node_modules/nan/nan_converters_43_inl.h:37:15: note: expanded from macro 'X'
return val->NAME ## Value(isolate->GetCurrentContext()); \
^
<scratch space>:38:1: note: expanded from here
BooleanValue
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:2561:3: note: 'BooleanValue' has been explicitly marked deprecated here
V8_DEPRECATED("BooleanValue can never throw. Use Isolate version.",
^
/Users/default/.node-gyp/12.1.0/include/node/v8config.h:307:29: note: expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated(message)))
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
In file included from ../node_modules/nan/nan.h:203:
In file included from ../node_modules/nan/nan_new.h:189:
../node_modules/nan/nan_implementation_12_inl.h:103:42: error: no viable conversion from 'v8::Isolate *' to 'Local<v8::Context>'
return scope.Escape(v8::Function::New( isolate
^~~~~~~
/Users/default/.node-gyp/12.1.0/include/node/v8.h:183:7: note: candidate constructor (the implicit copy constructor) not viable:
no known conversion from 'v8::Isolate *' to 'const v8::Local<v8::Context> &' for 1st argument
class Local {
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:183:7: note: candidate constructor (the implicit move constructor) not viable:
no known conversion from 'v8::Isolate *' to 'v8::Local<v8::Context> &&' for 1st argument
/Users/default/.node-gyp/12.1.0/include/node/v8.h:187:13: note: candidate template ignored: could not match
'Local<type-parameter-0-0>' against 'v8::Isolate *'
V8_INLINE Local(Local<S> that)
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:4126:22: note: passing argument to parameter 'context' here
Local<Context> context, FunctionCallback callback,
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
In file included from ../node_modules/nan/nan.h:203:
In file included from ../node_modules/nan/nan_new.h:189:
../node_modules/nan/nan_implementation_12_inl.h:337:37: error: too few arguments to function call, expected 2, have 1
return v8::StringObject::New(value).As<v8::StringObject>();
~~~~~~~~~~~~~~~~~~~~~ ^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:5380:3: note: 'New' declared here
static Local<Value> New(Isolate* isolate, Local<String> value);
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
In file included from ../node_modules/nan/nan.h:203:
In file included from ../node_modules/nan/nan_new.h:189:
../node_modules/nan/nan_implementation_12_inl.h:337:58: error: expected '(' for function-style cast or type construction
return v8::StringObject::New(value).As<v8::StringObject>();
~~~~~~~~~~~~~~~~^
../node_modules/nan/nan_implementation_12_inl.h:337:60: error: expected expression
return v8::StringObject::New(value).As<v8::StringObject>();
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
../node_modules/nan/nan.h:1034:44: error: no matching member function for call to 'ToString'
v8::Local<v8::String> string = from->ToString();
~~~~~~^~~~~~~~
/Users/default/.node-gyp/12.1.0/include/node/v8.h:2528:44: note: candidate function not viable: requires single argument
'context', but no arguments were provided
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:2544:35: note: candidate function not viable: requires single argument
'isolate', but no arguments were provided
Local<String> ToString(Isolate* isolate) const);
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
../node_modules/nan/nan.h:1044:37: error: cannot initialize a parameter of type 'v8::Isolate *' with an lvalue of type 'char *'
length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
^~~~
/Users/default/.node-gyp/12.1.0/include/node/v8.h:2738:26: note: passing argument to parameter 'isolate' here
int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
../node_modules/nan/nan.h:1818:28: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/default/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
../node_modules/nan/nan.h:1824:28: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(key, value);
^
In file included from ../src/database.cc:4:
In file included from ../src/database.h:10:
In file included from ../node_modules/nan/nan.h:2657:
../node_modules/nan/nan_object_wrap.h:67:18: warning: 'MarkIndependent' is deprecated: Weak objects are always considered
independent. Use TracedGlobal when trying to use EmbedderHeapTracer. Use a strong handle when trying to keep an object
alive. [-Wdeprecated-declarations]
persistent().MarkIndependent();
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:563:3: note: 'MarkIndependent' has been explicitly marked deprecated here
V8_DEPRECATED(
^
/Users/default/.node-gyp/12.1.0/include/node/v8config.h:307:29: note: expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated(message)))
^
../src/database.cc:40:9: error: too few arguments to function call, expected 3, have 2
EXCEPTION(Nan::New("Database handle is closed").ToLocalChecked(), SQLITE_MISUSE, exception);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/macros.h:91:13: note: expanded from macro 'EXCEPTION'
), \
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:2925:3: note: 'Concat' declared here
static Local<String> Concat(Isolate* isolate, Local<String> left,
^
../src/database.cc:49:17: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
TRY_CATCH_CALL(this->handle(), cb, 1, argv);
^
../src/macros.h:109:10: note: expanded from macro 'TRY_CATCH_CALL'
Nan::MakeCallback((context), (callback), (argc), (argv))
^
../node_modules/nan/nan.h:929:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/database.cc:63:13: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
EMIT_EVENT(handle(), 2, info);
^
../src/macros.h:102:5: note: expanded from macro 'EMIT_EVENT'
TRY_CATCH_CALL((obj), \
^
../src/database.cc:625:9: warning: unused variable 'status' [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(),
^
../src/database.cc:659:9: error: too few arguments to function call, expected 3, have 2
EXCEPTION(Nan::New(baton->message.c_str()).ToLocalChecked(), baton->status, exception);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/macros.h:91:13: note: expanded from macro 'EXCEPTION'
), \
^
/Users/default/.node-gyp/12.1.0/include/node/v8.h:2925:3: note: 'Concat' declared here
static Local<String> Concat(Isolate* isolate, Local<String> left,
^
../src/database.cc:663:13: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
TRY_CATCH_CALL(db->handle(), cb, 1, argv);
^
../src/macros.h:109:10: note: expanded from macro 'TRY_CATCH_CALL'
Nan::MakeCallback((context), (callback), (argc), (argv))
^
../node_modules/nan/nan.h:929:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/database.cc:667:13: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
EMIT_EVENT(db->handle(), 2, info);
^
../src/macros.h:102:5: note: expanded from macro 'EMIT_EVENT'
TRY_CATCH_CALL((obj), \
^
../src/macros.h:109:10: note: expanded from macro 'TRY_CATCH_CALL'
Nan::MakeCallback((context), (callback), (argc), (argv))
^
../node_modules/nan/nan.h:929:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/database.cc:672:9: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
TRY_CATCH_CALL(db->handle(), cb, 1, argv);
^
../src/macros.h:109:10: note: expanded from macro 'TRY_CATCH_CALL'
Nan::MakeCallback((context), (callback), (argc), (argv))
^
../node_modules/nan/nan.h:929:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
37 warnings and 13 errors generated.
make: *** [Release/obj.target/node_sqlite3/src/database.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:196:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:256:12)
gyp ERR! System Darwin 18.5.0
gyp ERR! command "/usr/local/Cellar/node/12.1.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/default/Desktop/personal/default/node_modules/sqlite3/lib/binding/node-v72-darwin-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/Users/default/Desktop/personal/default/node_modules/sqlite3/lib/binding/node-v72-darwin-x64" "--napi_version=4" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v72"
gyp ERR! cwd /Users/default/Desktop/personal/default/node_modules/sqlite3
gyp ERR! node -v v12.1.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/Cellar/node/12.1.0/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/default/Desktop/personal/default/node_modules/sqlite3/lib/binding/node-v72-darwin-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/Users/default/Desktop/personal/default/node_modules/sqlite3/lib/binding/node-v72-darwin-x64 --napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/default/Desktop/personal/default/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:196:13)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1000:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:267:5)
node-pre-gyp ERR! System Darwin 18.5.0
node-pre-gyp ERR! command "/usr/local/Cellar/node/12.1.0/bin/node" "/Users/default/Desktop/personal/default/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/default/Desktop/personal/default/node_modules/sqlite3
node-pre-gyp ERR! node -v v12.1.0
node-pre-gyp ERR! node-pre-gyp -v v0.11.0
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/Cellar/node/12.1.0/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/default/Desktop/personal/default/node_modules/sqlite3/lib/binding/node-v72-darwin-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/Users/default/Desktop/personal/default/node_modules/sqlite3/lib/binding/node-v72-darwin-x64 --napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sqlite3@4.0.6 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sqlite3@4.0.6 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! /Users/default/.npm/_logs/2019-05-02T21_02_01_505Z-debug.log

最佳答案

来自Readme . sqlite3 模块适用于 Node.js v4.x、v6.x、v8.x 和 v10.x。。在该模块获得对 Node v12 的支持之前,您应该降级到 Node v10。

编辑:根据以下评论,现在支持 Node v11 和 v12:2020 年 10 月 - 更新

“sqlite3 模块适用于 Node.js v4.x、v6.x、v8.x、v10.x、v11.x 和 v12.x”- 来源 - https://www.npmjs.com/package/sqlite3/v/4.1.1

关于javascript - 如何修复 NPM 安装 SQLite 构建失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55960396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com