问题描述
我目前正在学习Javascript / HTML / CSS,以构建一些数据仪表板。 我已找到本教程https://d3-dashboard.cube.dev/setting-up-a-database-and-cube-js
目前,我被困在这一部分:
下一步是创建Cube.js数据模式。
在以下位置打开Cube.js游乐场时:http:// localhost:4000,我在终端中得到以下输出:
? Dev environment available at http://localhost:4000,I get the following error:
? Cube.js server (0.21.1) is listening on 4000
Error: getaddrinfo ENOTFOUND <YOUR_DB_HOST_HERE>
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)
在Cube.js游乐场网页视图中:
Error while loading DB schema
Error: getaddrinfo ENOTFOUND <YOUR_DB_HOST_HERE> at
GetAddrInfoReqWrap.onlookup [as oncomplete](dns.js66:26)
我已经编辑了以下文件:
d3-dashboard/node_modules/@cubejs-backend/server-core/core/index.js
,带有:
const checkEnvForPlaceholders = () => {
const placeholderSubstr = '<YOUR_DB_';
const credentials = [
'CUBEJS_API_SECRET=SECRET','CUBEJS_DB_TYPE=postgres','CUBEJS_DB_NAME=ecom','CUBEJS_WEB_SOCKETS=true'
/*'CUBEJS_DB_HOST',*/
/*'CUBEJS_DB_NAME',*/
/*'CUBEJS_DB_USER',*/
/*'CUBEJS_DB_PASS'*/
];
我在这里做错了什么吗? 我对应用程序和前端是完全陌生的,所以我看上去可能有些“愚蠢”,但我真的很想从我的错误中学习:)
感谢您的时间和潜在的投入/帮助!
祝你有美好的一天:)
解决方法
您绝对不应编辑node_modules
目录中的任何文件。您应该将env
变量存储在.env
文件中。
-your-cubejs-server-root
--schema
--.env
--//..
可能看起来像
CUBEJS_DB_HOST=localhost
CUBEJS_DB_NAME=cubejs
CUBEJS_DB_USER=root
CUBEJS_DB_PASS=
CUBEJS_DB_TYPE=mysql
CUBEJS_API_SECRET=secret
您遇到的错误是无法建立与数据库的连接。因为您缺少正确的CUBEJS_DB_HOST=
变量。
每个数据库所需的最小变量集各不相同,可以在https://cube.dev/docs/connecting-to-the-database
中找到