Discourse 安装在数据库迁移时失败

你好,我试图在我的 PC 上为开发环境安装 Discourse,但在运行 bundle exec rake db:migrate 时出现了以下错误:

ArgumentError: wrong number of arguments (given 1, expected 0; required keywords: site_setting_name, title, raw)
/home/mihco/discourse/lib/seed_data/topics.rb:126:in `create_topic'
/home/mihco/discourse/lib/seed_data/topics.rb:16:in `block (2 levels) in create'
/home/mihco/discourse/lib/seed_data/topics.rb:15:in `each'
/home/mihco/discourse/lib/seed_data/topics.rb:15:in `block in create'
/home/mihco/discourse/lib/seed_data/topics.rb:14:in `create'
(eval):14:in `block (2 levels) in run_file'
/home/mihco/discourse/lib/tasks/db.rake:222:in `block in <main>'
/home/mihco/.rbenv/versions/3.0.1/bin/bundle:23:in `load'
/home/mihco/.rbenv/versions/3.0.1/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

这似乎是 create_topic 函数的问题,但我无法弄清楚如何在迁移过程中更改传递的参数。对于这些多余的参数,我该怎么办?

你好 Michal :wave:t5:

你是按照哪个 dev-install 指南进行此安装的?

在 Windows 10 上安装 Discourse 进行开发的初学者指南。我使用的是 WSL2 搭配 Ubuntu 2 进行安装。最初安装过程很顺利,大约两周前安装 Discourse 后我也成功运行了服务器,但现在它开始向我显示该错误。

我遇到过类似的问题。将 Ruby 从 3.0.0 降级到 2.7.2 为我解决了这个问题。

降级成功了,谢谢!

是的,Discourse 主分支尚未兼容 Ruby 3。我通过在 topics.rb 中添加两个双星号(**)绕过了种子数据错误,但在启动服务器时又遇到了“作业异常:参数数量错误”的问题。

README 目前要求"Ruby 2.7+",因此需要更新。