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:\Users\fabio\OneDrive\Ambiente de Trabalho\LiquibaseNode\index.js'
]
}

这里有一个节点错误文档的链接。

MODULE_NOT_FOUND

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

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


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

如果你仍然有问题,如果我处于你的位置,我会采取以下步骤:

  • 验证Node应用程序的根目录中是否有node_modules目录
  • 验证node_modules/liquibase是否也存在于我的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-liquibase版本的node_modules目录。


TLDR基本上,您的应用程序正在请求node-liquibase,但Node找不到。

相关内容

  • 没有找到相关文章

最新更新