node.js - 有没有办法将 OracleDB 与 Node 10.15 一起使用?
问题描述
我的云环境仅限于 Node v10.15.x,我需要 10+ 用于实验模块。但是,当我尝试安装 OracleDB 时,我得到...
oracledb ERR! NJS-069: node-oracledb 4.1.0 requires Node.js 10.16 or later
oracledb ERR! An older node-oracledb version may work with Node.js v10.15.0
如果我尝试将 OracleDB 降级到 3.1.2,它需要节点 8,所以这也不起作用。
oracledb ERR! NJS-067: a pre-built node-oracledb binary was not found for Node.js v12.1.0 (NODE_MODULE_VERSION=72) on win32 x64
oracledb ERR! Try compiling node-oracledb source code using https://oracle.github.io/node-oracledb/INSTALL.html#github
有没有办法让 oracledb 与 Node 10.15 一起工作?
更新
这似乎不清楚,所以让我明确一点。在本地,我有节点 12,这适用于 OracleDB 的 v 4.1.0。但是,当我尝试上传到 Cloud Foundry 时,这不起作用,因为版本是 10.15。当我降级到 3.1.2 OracleDB 时,它不再在本地编译,也不会部署到 Gaia,因为它需要一个小于 9 的节点版本,而我们需要大于 9 的其他功能。
解决方案
Node 6、8、10 和 11有预构建的 node-oracledb 3.1.2 二进制文件。您上面的文字说您想使用 Node.js 10.15,但您的示例显示您尝试安装在 Node.js 12: 上Node.js v12.1.0 (NODE_MODULE_VERSION=72)
,因此您的错误。确保 Node.js 是所需的版本 10,然后使用 node-oracledb 3.1.2 重试。
如果您想在 Node.js 10.15 中使用 node-oracledb 4,请从源代码编译。信息很明确。
但是您确实应该将 Node.js 升级到更高版本并获得所有 Node.js 安全修复程序。
更新地址注释:如果 npm 无法访问 npmjs.com 存储库,您可以手动下载https://registry.npmjs.com/oracledb/-/oracledb-3.1.2.tgz并从本地安装文件例如npm install /file/path/to/oracledb-3.1.2.tgz
或在 package.json 中使用依赖项"oracledb": "file:/file/path/to/oracledb-3.1.2.tgz"
,类似于https://oracle.github.io/node-oracledb/INSTALL.html#selfhost。
推荐阅读
- android - 在 Android 中将字符串作为文件附件共享
- swift - 如何告诉用户准确的度数是朝北还是朝东?
- scala - Cats - EitherT - 发散隐式扩展以进行理解而无需显式输入?
- javascript - E/configParser - ReferenceError: 元素未定义
- bazel - 替换和 Java 库生命周期
- excel - VBA:如何根据包含某些字符的相邻单元格删除列?
- javascript - 用 Javascript 比较日期不起作用
- python - 隐蔽到稀疏矩阵 - TypeError:不支持类型转换:(dtype('0'),)
- reactjs - useState 不能正常工作 在函数中使用了几次
- swift - Swift 5.0:如何修复 nw_path_close_fd 无法关闭受保护的 necp fd 4 [9: Bad file descriptor] 错误