问题描述
Windows Enterprise 2016 LTSB 版本 1607。安装了 Wiki.js 和 Postgresql。之前安装过 Node.js (v12.16.2)。
使用 Powershell 进入 wiki.js 安装过程的step 8:
node server
我收到此错误:
PS C:\wiki> node server
Loading configuration from C:\wiki\config.yml... OK
2021-01-03T23:06:14.299Z [MASTER] info: =======================================
2021-01-03T23:06:14.300Z [MASTER] info: = Wiki.js 2.5.170 =====================
2021-01-03T23:06:14.301Z [MASTER] info: =======================================
2021-01-03T23:06:14.301Z [MASTER] info: Initializing...
2021-01-03T23:06:14.688Z [MASTER] info: Using database driver pg for postgres [ OK ]
2021-01-03T23:06:14.690Z [MASTER] info: Connecting to database...
2021-01-03T23:06:15.698Z [MASTER] error: Database Connection Error: ECONNREFUSED 127.0.0.1:5432
2021-01-03T23:06:15.698Z [MASTER] warn: Will retry in 3 seconds... [Attempt 1 of 10]
2021-01-03T23:06:18.700Z [MASTER] info: Connecting to database...
2021-01-03T23:06:19.703Z [MASTER] error: Database Connection Error: ECONNREFUSED 127.0.0.1:5432
2021-01-03T23:06:19.703Z [MASTER] warn: Will retry in 3 seconds... [Attempt 2 of 10]
... (you get the point)
2021-01-03T23:06:51.728Z [MASTER] error: Database Connection Error: ECONNREFUSED 127.0.0.1:5432
2021-01-03T23:06:51.729Z [MASTER] warn: Will retry in 3 seconds... [Attempt 10 of 10]
2021-01-03T23:06:54.730Z [MASTER] info: Connecting to database...
2021-01-03T23:06:55.733Z [MASTER] error: Database Initialization Error: connect ECONNREFUSED 127.0.0.1:5432
我意识到我忘记创建一个 Postgresql,所以我使用 pgAdmin4.28 创建了一个“wiki”数据库。错误现在更改为:
PS C:\wiki> node server
Loading configuration from C:\wiki\config.yml... OK
2021-01-04T00:27:21.979Z [MASTER] info: =======================================
2021-01-04T00:27:21.980Z [MASTER] info: = Wiki.js 2.5.170 =====================
2021-01-04T00:27:21.981Z [MASTER] info: =======================================
2021-01-04T00:27:21.982Z [MASTER] info: Initializing...
2021-01-04T00:27:22.363Z [MASTER] info: Using database driver pg for postgres [ OK ]
2021-01-04T00:27:22.365Z [MASTER] info: Connecting to database...
2021-01-04T00:27:22.428Z [MASTER] error: Database Connection Error: 28P01 undefined:undefined
2021-01-04T00:27:22.429Z [MASTER] warn: Will retry in 3 seconds... [Attempt 1 of 10]
2021-01-04T00:27:25.431Z [MASTER] info: Connecting to database...
2021-01-04T00:27:25.501Z [MASTER] error: Database Connection Error: 28P01 undefined:undefined
2021-01-04T00:27:25.501Z [MASTER] warn: Will retry in 3 seconds... [Attempt 2 of 10]
2021-01-04T00:27:28.503Z [MASTER] info: Connecting to database...
2021-01-04T00:27:28.545Z [MASTER] error: Database Connection Error: 28P01 undefined:undefined
2021-01-04T00:27:28.546Z [MASTER] warn: Will retry in 3 seconds... [Attempt 3 of 10]
请发送帮助!我感谢所有评论。谢谢!
解决方法
我的环境如下:Windows 10专业版号20h2节点版v14.15.4 PostgreSQL V 13.1,报错内容如下:
Loading configuration from D:\dev\workspace\wiki\config.yml... OK
2021-02-03T06:32:55.015Z [MASTER] info: =======================================
2021-02-03T06:32:55.016Z [MASTER] info: = Wiki.js 2.5.170 =====================
2021-02-03T06:32:55.016Z [MASTER] info: =======================================
2021-02-03T06:32:55.017Z [MASTER] info: Initializing...
2021-02-03T06:32:59.091Z [MASTER] info: Using database driver pg for postgres [ OK ]
2021-02-03T06:32:59.094Z [MASTER] info: Connecting to database...
2021-02-03T06:32:59.160Z [MASTER] error: Database Connection Error: 28P01
undefined:undefined
你只需要将 config.yml 中的数据库配置修改如下:
db:
type: postgres
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: postgres #YOU PostgreSQL USERNAME
pass: willasas@wiki. #YOU PostgreSQL PASSWORD
db: wiki #YOU DATABASE NAME
ssl: false
然后运行代码
node server
然后在浏览器地址栏输入http://127.0.0.1 : 3000 /
并行回车
我在使用 postgres 和 wiki.js 时遇到了类似的问题。
解决方案是在 postgres 中手动创建数据库,BEFORE 运行 node server
:
CREATE DATABASE wiki
希望这可以为您节省我为解决这个问题而花费的时间。
,经过几个小时的测试后,我意识到在 wiki.js 中使用 postgres 存在一些问题。这些是您可以在 config.yml 中尝试的一些建议:
db:
type: postgres
# if you are using docker try using IP instead of localhost
host: localhost
port: 5432
# don't use _ here. It'll cause connection error undefined.
user: wikijs
# start with letter,if you start with @ it will throw an error.
# I used a 18 long pass without any problem. Ex:
pass: wiki@projectW777!@
# you can use _ here. Ex:
db: prj_wiki
,
如果您需要更改数据库密码,这可以帮助您:
ALTER USER postgres WITH PASSWORD 'xxx';