pouchdb 未在 linux 上使用 electron 和 leveldb 创建本地数据库

pouchdb not creating local DB with electron and leveldb on linux

我正在使用 PouchDB 为我的应用程序存储数据,以便它在需要时可以脱机工作。它在我的 windows 开发机器上运行良好,我在创建和使用数据库时没有遇到任何问题。

这是我的代码

const PouchDB = require("pouchdb");
PouchDB.plugin(require("pouchdb-find"));

var productsDB = new PouchDB("DB/products"); //executing this line would immediately create a folder for my database inside the same folder as my application

我的项目文件夹最终会有这样的结构

DB
|--products
node_modules
src
package.json

这是我来自 package.json

的依赖项
"pouchdb": "^7.1.1",
"pouchdb-find": "^7.1.1",

节点版本 = 12.13.0

npm 版本 = 6.12.0

但是,当尝试 运行 ubuntu(18.04.3) 上的同一个项目时,没有任何反应,没有为数据库创建文件夹,chrome 开发工具中没有错误记录。

我是否遗漏了一些东西来完成这项工作?我尝试删除我的 node_modules 文件夹并重新安装。

编辑:不要在意底部的问题,似乎我在使用 promises 时没有发现错误。添加一个 catch 将错误记录到我的 devtools,这是我试图破坏一个不存在的数据库。

当我尝试执行类似 .destroy()

的操作时
productsDB.destroy().then(() => { });

再次在开发工具中没有任何反应,但在我的终端上记录错误。

Empty response arrived for script 'devtools://devtools/remote/serve file...

并且多次出现

Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry...

我在对路径进行了大量测试后弄明白了,如果文件夹尚不存在,linux 似乎不喜欢它。所以要么先创建文件夹,要么不指定数据库路径

var productsDB = new PouchDB("products");