npm install node-oracledb 失败
Posted
技术标签:
【中文标题】npm install node-oracledb 失败【英文标题】:npm install node-oracledb fails 【发布时间】:2019-08-30 10:46:19 【问题描述】:我想通过节点 js 连接 oracle 数据库。为此,我尝试安装 node-oracledb 模块。
$ npm install oracle/node-oracledb#v3.1.2
这会引发以下错误消息。
oracledb@3.1.2 安装 C:\Users\Desktop\WebApp\node-oracle-db\node_modules\oracledb 节点gyp重建
C:\Users\Desktop\WebApp\node-oracle-db\node_modules\oracledb>如果没有 定义 npm_config_node_gyp (节点 "C:\Program 文件\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" 重建)否则(节点“C:\ Program 文件\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" 重建)gyp ERR!配置错误gyp ERR!堆栈错误:找不到 Python 可执行文件“python”,您可以设置 PYTHON 环境变量。石膏 呃!堆栈在 PythonFinder.failNoPython (C:\Program 文件\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:483:19) 吉普错误! PythonFinder 的堆栈。 (C:\程序 文件\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:508:16) 吉普错误!堆栈在 C:\Program 文件\nodejs\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29 吉普错误!堆栈在 FSReqWrap.oncomplete (fs.js:166:21) gyp ERR! 系统 Windows_NT 10.0.14393 gyp 错误!命令“C:\程序 文件\nodejs\node.exe" "C:\Program 文件\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" “重建” gyp ERR! cwd C:\Users\Desktop\WebApp\node-oracle-db\node_modules\oracledb gyp 错误! 节点 -v v9.5.0 gyp 错误!节点-gyp -v v3.6.2 gyp 错误!不好 npm 警告 oracle-db@1.0.0 没有描述 npm WARN oracle-db@1.0.0 没有存储库 字段。
npm 错误!代码 ELIFECYCLE npm 错误! errno 1 npm 错误! oracledb@3.1.2 安装:
node-gyp rebuild
npm 错误!退出状态 1 npm ERR! npm 错误! oracledb@3.1.2 安装脚本失败。 npm 错误!这大概是 npm 没问题。可能有额外的日志输出 以上。npm 错误!可以在以下位置找到此运行的完整日志:npm ERR! C:\Users\AppData\Roaming\npm-cache_logs\2019-04-09T06_36_44_005Z-debug.log
我不明白为什么我需要有 python 依赖才能连接 oracle db?以及如何做到这一点?
【问题讨论】:
【参考方案1】:Node 是使用使用 python 的 GYP 构建的。我认为这就是您收到此错误的原因。尽管要运行 Nodejs 应用程序,您根本不需要 python。也许这将是这个特定包的要求。您正在指定需要安装 python 的节点 oracle-db 版本。
您可以运行以下命令来解决您的问题
npm install oracledb
这不应该给你你所面临的错误。
如果这不起作用,您可以按照以下方式进行操作
您可以运行以下命令来解决您遇到的问题。
npm install --global --production windows-build-tools
这将在你的系统上安装 python。
然后就可以全局安装gyp了
npm install node-gyp
那么也许你可以安装你正在寻找的特定版本 node-oracledb
【讨论】:
如你所说,我已经安装了 windows-build-tools 和 node-gyp。当我运行npm install oracle/node-oracledb#v3.1.2
时,出现以下错误:gyp ERR!配置错误gyp ERR!堆栈错误:找不到 Python 可执行文件“python”,您可以设置 PYTHON 环境变量。吉普错误!堆栈在 PythonFinder.failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:483:19)
你需要以管理员身份运行npm install --global --production windows-build-tools
您也可以尝试安装Visual Studio 2015 Redistributable
,然后您可以安装npm install oracledb
。
是的,我没有管理员权限,并且在安装 windows-build-tools 模块后 powershell 没有启动。 windows-build-tools +1s 请从管理 PowerShell 重新启动此脚本!有没有办法在没有管理员权限的情况下安装它?
然后试试这个install Visual Studio 2015 Redistributable
然后你就可以做npm install oracledb
。这是链接https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
【参考方案2】:
通过node js连接oracle db,运行
npm 安装 oracledb
【讨论】:
以上是关于npm install node-oracledb 失败的主要内容,如果未能解决你的问题,请参考以下文章
执行存储过程 NJS-012 时出现 node-oracledb 错误