Node-Red 无法打开 SQLite 数据库
Node-Red failed to open SQLite database
我正在尝试从 Node-Red 访问 SQLite 数据库。 Node-Red 无法打开数据库。我的 OS 是 Ubuntu 18.04.3.
下面提供了我的流程和 SQLite 节点定义。注入和调试节点只有默认值。我保持它非常简单,因为这是我第一次尝试使用 Node-Red 的 SQLite。
部署流程时,出现以下错误:
数据库对所有用户都有读写执行权限。它在我的机器上是本地的,我是唯一一个使用它的人。
知道是什么导致了这个问题吗?
好的,这就是我解决问题的方法。
我在打开 .csv 文件时也遇到了问题。通过查看其他类似的帖子,这似乎是一个无法解决的用户权限问题,即使通过 chmod
.
更改文件权限也是如此
我使用不同的媒介安装了所有节点组件:
- 命令行中的 nodejs 和 npm
- node-red 来自 Ubuntu 软件中心
- node-red-dashboard 和 node-red-node-sqlite 来自 node-red 浏览器。
这些不同的安装介质可能导致权限问题。所以我卸载了所有东西。
然后我从命令行重新安装了所有东西。节点包已全局安装(即带有“-g”属性):
sudo apt install nodejs
sudo apt install npm
sudo npm install -g node-red
sudo npm install -g node-red-dashboard
sudo npm install -g node-red-node-sqlite
然后我确认 npm 可以将所有内容视为全局包:
sudo npm list -g --depth 0
我现在在 shell:
中启动 node-red
node-red
然后转到浏览器并输入:
localhost:1880
node-red 浏览器加载,所有仪表板和 sqlite 节点都可用,我能够读取 sqlite 和 csv 文件。
*** 关于安装的注意事项 node-red sub-packages ***
Node-red sub-packages (node-red-dashboard, node-red-node-sqlite, ...) 可以从 npm 或 node-red 浏览器。
不过我注意到了一些事情:
a 从浏览器安装的 sub-package 在键入 npm list -g --depth 0
.
时不会显示
与 sudo npm -g <sub-package>
一起安装的 sub-package 将显示为 npm list -g --depth 0
。
浏览器中列出的包不会全部显示在命令 npm list <package>
.
所以我决定谨慎行事,安装我所有的 node-red sub-packages 和 npm list
。首先,我在 node-red 浏览器面板列表中搜索 sub-package,检索 sub-package 名称,然后使用 sudo npm -g <sub-package>
从 shell 安装它。
一致性解决了问题:将 shell 中的所有内容安装为全局包。
我正在尝试从 Node-Red 访问 SQLite 数据库。 Node-Red 无法打开数据库。我的 OS 是 Ubuntu 18.04.3.
下面提供了我的流程和 SQLite 节点定义。注入和调试节点只有默认值。我保持它非常简单,因为这是我第一次尝试使用 Node-Red 的 SQLite。
部署流程时,出现以下错误:
数据库对所有用户都有读写执行权限。它在我的机器上是本地的,我是唯一一个使用它的人。
知道是什么导致了这个问题吗?
好的,这就是我解决问题的方法。
我在打开 .csv 文件时也遇到了问题。通过查看其他类似的帖子,这似乎是一个无法解决的用户权限问题,即使通过 chmod
.
我使用不同的媒介安装了所有节点组件:
- 命令行中的 nodejs 和 npm
- node-red 来自 Ubuntu 软件中心
- node-red-dashboard 和 node-red-node-sqlite 来自 node-red 浏览器。
这些不同的安装介质可能导致权限问题。所以我卸载了所有东西。
然后我从命令行重新安装了所有东西。节点包已全局安装(即带有“-g”属性):
sudo apt install nodejs
sudo apt install npm
sudo npm install -g node-red
sudo npm install -g node-red-dashboard
sudo npm install -g node-red-node-sqlite
然后我确认 npm 可以将所有内容视为全局包:
sudo npm list -g --depth 0
我现在在 shell:
中启动 node-rednode-red
然后转到浏览器并输入:
localhost:1880
node-red 浏览器加载,所有仪表板和 sqlite 节点都可用,我能够读取 sqlite 和 csv 文件。
*** 关于安装的注意事项 node-red sub-packages ***
Node-red sub-packages (node-red-dashboard, node-red-node-sqlite, ...) 可以从 npm 或 node-red 浏览器。
不过我注意到了一些事情:
a 从浏览器安装的 sub-package 在键入
时不会显示npm list -g --depth 0
.与
sudo npm -g <sub-package>
一起安装的 sub-package 将显示为npm list -g --depth 0
。浏览器中列出的包不会全部显示在命令
npm list <package>
.
所以我决定谨慎行事,安装我所有的 node-red sub-packages 和 npm list
。首先,我在 node-red 浏览器面板列表中搜索 sub-package,检索 sub-package 名称,然后使用 sudo npm -g <sub-package>
从 shell 安装它。
一致性解决了问题:将 shell 中的所有内容安装为全局包。