Node.js-liquibase不是函数

我正在尝试在 Node.js 中连接我的数据库,但出现错误liquibase is not a function。我确实使用npm install liquibase. 为什么我收到这个错误?

const liquibase = require('liquibase');

liquibase({
  changeLogFile: 'resources/liquibase/db.changelog.xml',
  url: 'jdbc:postgresql://localhost:5432/postgres',
  username: 'postgres',
  password: 'admin'
})
.run('<action>', '<action-params>')
.then(() => console.log('success'))
.catch((err) => console.log('fail', err));

新错误

Error: Cannot find module 'node-liquibase'
Require stack:
- C:UsersfabioOneDriveAmbiente de TrabalhoLiquibaseNodeindex.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (C:UsersfabioOneDriveAmbiente de TrabalhoLiquibaseNodeindex.js:1:19)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:UsersfabioOneDriveAmbiente de TrabalhoLiquibaseNodeindex.js'
  ]
}

回答

这是 Node 错误文档的链接。

MODULE_NOT_FOUND

尝试 require() 或导入操作时无法解析模块文件。

我的猜测是它node-liquibase没有安装在您的应用程序node_modules目录中,和/或没有安装在您的主机上。


其他评论者已经发现了我将要提到的一些问题,我也鼓励您查看在 JavaScript 文件中使用它的文档。您的原始帖子中有一些错误,通过确保您导入正确的包并正确使用它来解决。

如果您仍然遇到问题,如果我处于您的位置,我将采取以下步骤:

  • 验证node_modules我的 Node 应用程序的根目录中有一个目录
  • 验证是否node_modules/liquibase也存在于我的 Node 应用程序的根目录中
  • 验证我正在调用的任何 Node 实例都在我期望的“位置”(即“我调用的是‘正确的’应用程序吗?”)

这是Node Liquibase Sandbox 示例 repo的树结构示例。这将显示一个正在运行的node-liquibase消费项目可能是什么样子:

.
??? README.md
??? assets
?   ??? img
??? changelog.xml
??? db-start-up.sh
??? index.ts
??? node_modules
?   ??? @types
?   ??? liquibase
?   ??? tslib
?   ??? typescript
??? package.json
??? testing.js
??? tsconfig.esm.json
??? tsconfig.json
??? yarn.lock

在这个例子中,有一个package.json文件定义了关于你的 Node 应用程序的所有元数据,作为一个直接的“兄弟”,有一个node_modules包含这个应用程序安装版本的node-liquibase.


TLDR;基本上你的应用程序要求node-liquibase但节点找不到它。


以上是Node.js-liquibase不是函数的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>