簡體   English   中英

ArgumentError:錯誤的 arguments 編號與 `bundle exec rake db:migrate`

[英]ArgumentError: wrong number of arguments with `bundle exec rake db:migrate`

我正在嘗試按照此處提到的步驟在 macOS 中安裝 Discourse 進行開發: https://meta.discourse.org/t/beginners-guide-to-install-discourse-on-macos-for-development/15772

遵循此處提到的步驟后: https://community.unix.com/t/macos-catalina-discourse-development-environment-notes/378448運行bundle install ,我嘗試使用bundle exec rake db:migrate (如上所述在安裝說明中),它向我顯示了這個錯誤:

% bundle exec rake db:migrate
rake aborted!
ArgumentError: wrong number of arguments (given 1, expected 0; required keywords: site_setting_name, title, raw)
/Users/jonathanhung/discourse/lib/seed_data/topics.rb:126:in `create_topic'
/Users/jonathanhung/discourse/lib/seed_data/topics.rb:16:in `block (2 levels) in create'
/Users/jonathanhung/discourse/lib/seed_data/topics.rb:15:in `each'
/Users/jonathanhung/discourse/lib/seed_data/topics.rb:15:in `block in create'
/Users/Tim/bin/gems/i18n-1.8.10/lib/i18n.rb:314:in `with_locale'
/Users/jonathanhung/discourse/lib/seed_data/topics.rb:14:in `create'
(eval):14:in `block (2 levels) in run_file'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:46:in `eval'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:46:in `block (2 levels) in run_file'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:58:in `block in open'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:57:in `open'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:57:in `open'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:36:in `block in run_file'
/Users/Tim/bin/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `block in transaction'
/Users/Tim/bin/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:310:in `block in within_new_transaction'
/Users/Tim/bin/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
/Users/Tim/bin/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/Users/Tim/bin/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/Users/Tim/bin/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/Users/Tim/bin/gems/activesupport-6.1.3.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/Users/Tim/bin/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/transaction.rb:308:in `within_new_transaction'
/Users/Tim/bin/gems/activerecord-6.1.3.2/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `transaction'
/Users/Tim/bin/gems/activerecord-6.1.3.2/lib/active_record/transactions.rb:209:in `transaction'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:35:in `run_file'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:26:in `block in run'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:25:in `each'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:25:in `run'
/Users/Tim/bin/gems/seed-fu-2.3.9/lib/seed-fu.rb:29:in `seed'
/Users/jonathanhung/discourse/lib/tasks/db.rake:222:in `block in <main>'
/Users/Tim/bin/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
/Users/jonathanhung/.rbenv/versions/3.0.1/bin/bundle:23:in `load'
/Users/jonathanhung/.rbenv/versions/3.0.1/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

有誰知道我能做些什么來解決它? 感謝您的反饋意見。

注意:我使用的是 macOS 版本 11.4

將 ruby 從 3.0.0 降級到 2.7.2 解決了該問題

https://meta.discourse.org/t/discourse-installation-fails-on-database-migration/194867/5

或者您可以將create_topic(params)更改為create_topic(**params) (也可以使用update_topic

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM