javascript - 在成功安装 sqlite3 后尝试运行代码时如何修复此 "module not found error"?

标签 javascript node.js sqlite npm

我一开始设法安装了 sqlite3 模块,但出现了一些错误,如“找不到模块”,但现在我必须彻底编辑帖子,因为在我尝试重新安装 sqlite3 (npm install sqlite3) 后出现以下错误。这是输出:

PS D:\testsqlite3> npm install sqlite3
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported

> sqlite3@5.0.1 install D:\testsqlite3\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/v5.0.1/napi-v6-win32-x64.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for sqlite3@5.0.1 and node@15.5.1 (node-v88 ABI, unknown) (falling back to source compile with node-gyp) 
gyp ERR! find VS 
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2015
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS checking VS2019 (16.8.30804.86) found at:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
gyp ERR! find VS - found "Visual Studio C++ core features"
gyp ERR! find VS - missing any VC++ toolset
gyp ERR! find VS checking VS2017 (15.9.28307.1321) found at:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"
gyp ERR! find VS - found "Visual Studio C++ core features"
gyp ERR! find VS - found VC++ toolset: v141
gyp ERR! find VS - found Windows SDK: 10.0.17763.0
gyp ERR! find VS - msvs_version does not match this version
gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS 
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS - "2017"
gyp ERR! find VS - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error 
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16
gyp ERR! stack     at C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (node:child_process:340:5)
gyp ERR! stack     at ChildProcess.emit (node:events:376:20)
gyp ERR! stack     at maybeClose (node:internal/child_process:1063:16)
gyp ERR! System Windows_NT 10.0.19042
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Lenovo\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=D:\\testsqlite3\\node_modules\\sqlite3\\lib\\binding\\napi-v6-win32-x64\\node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=D:\\testsqlite3\\node_modules\\sqlite3\\lib\\binding\\napi-v6-win32-x64" "--napi_version=7" "--node_abi_napi=napi" "--napi_build_version=6" "--node_napi_label=napi-v6" "--msvs_version=2015"
gyp ERR! cwd D:\testsqlite3\node_modules\sqlite3
gyp ERR! node -v v15.5.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=D:\testsqlite3\node_modules\sqlite3\lib\binding\napi-v6-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=D:\testsqlite3\node_modules\sqlite3\lib\binding\napi-v6-win32-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=6 --node_napi_label=napi-v6 --msvs_version=2015' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (D:\testsqlite3\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:376:20)
node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1063:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:295:5)
node-pre-gyp ERR! System Windows_NT 10.0.19042
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\testsqlite3\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd D:\testsqlite3\node_modules\sqlite3
node-pre-gyp ERR! node -v v15.5.1
node-pre-gyp ERR! node-pre-gyp -v v0.11.0
node-pre-gyp ERR! not ok
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\Lenovo\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=D:\testsqlite3\node_modules\sqlite3\lib\binding\napi-v6-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=D:\testsqlite3\node_modules\sqlite3\lib\binding\napi-v6-win32-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=6 --node_napi_label=napi-v6 --msvs_version=2015' (1)
npm WARN enoent ENOENT: no such file or directory, open 'D:\testsqlite3\package.json'
npm WARN testsqlite3 No description
npm WARN testsqlite3 No repository field.
npm WARN testsqlite3 No README data
npm WARN testsqlite3 No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sqlite3@5.0.1 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the sqlite3@5.0.1 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\Lenovo\AppData\Roaming\npm-cache\_logs\2021-01-10T20_45_12_903Z-debug.log

我也安装了 visual studio 和构建工具,但没有任何改变。

最佳答案

经过两天的尝试,我终于得出了一个解决方案,希望分享一下,以防其他人遇到同样的问题。以下是步骤:

  1. Visual Studio 2019 安装(使用 C++ 桌面开发),
  2. node-pre-gyp 安装:
npm i node-pre-gyp -g
  1. msvs 版本配置设置(手动输入路径,因为 npm 找不到它时出错):
npm config set msvs_version "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
  1. npm sqlite3 安装:
npm install sqlite3

它现在完美运行。

关于javascript - 在成功安装 sqlite3 后尝试运行代码时如何修复此 "module not found error"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65657939/

相关文章:

sqlite - 在 F# 中管理 SQL 模式

javascript - 显示/隐藏 JavaScript 在 IE 中不起作用,仅在 Firefox 中起作用

javascript - Vue.js 路由器查询数组

javascript - 在 Node.js 中向 javascript 日期添加分钟

android - 如何使用 2 个字符串参数从 sqlite 数据库检索特定字符串数据?

python - 在 python sqlite3 模块中提交行为和原子性

javascript - jqGrid表单编辑,HTML代替表单字段中的值

JavaScript: toDataUrl() 抛出 "Security Error: Tainted canvases may not be exported."

node.js - AWS Lambda 使用 s3 getObject 函数没有任何反应

sockets - node.js中的setKeepAlive是如何工作的,如何实现的?