MyBB 导入脚本错误

你好,

目前我正尝试将我的论坛从 MyBB 迁移到 Discourse,但到目前为止尚未成功,尽管我已经阅读了多个相关主题。

这是我最近一次尝试所采取的步骤:

  • 从 MyBB 下载数据库(mybb.sql),并将其上传到 Discourse 服务器
  • 在 MySQL 中创建一个名为 mybb 的数据库,然后将 mybb.sql 导入其中

接着,按照此处提到的步骤操作:

  • cd /var/discourse
  • ./launcher enter app
  • su - discourse
  • gem install mysql2
  • cd /var/www/discourse/script/import_scripts
  • nano mybb.rb,并将 mybb 的详细信息填入其中
  • ruby mybb.rb

但在最后一步,我遇到了以下错误并卡住了:

discourse@debian94-app:/var/www/discourse/script/import_scripts$ ruby mybb.rb                                                                                                   Traceback (most recent call last):                                                                                                                                                      18: from mybb.rb:4:in `\u003cmain\u003e'                                                                                                                                                  17: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                16: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                15: from /var/www/discourse/script/import_scripts/base.rb:16:in `\u003ctop (required)\u003e'                                                                                              14: from /var/www/discourse/script/import_scripts/base.rb:16:in `require_relative'                                                                                              13: from /var/www/discourse/config/environment.rb:4:in `\u003ctop (required)\u003e'                                                                                                       12: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                11: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                10: from /var/www/discourse/config/application.rb:54:in `\u003ctop (required)\u003e'                                                                                                       9: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:324:in `require'                                              8: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:291:in `load_dependency'                                      7: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:324:in `block in require'                                     6: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'                                 5: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'               4: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'                                  3: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'                                                                                                                                                                                      2: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'                                 1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/compile_cache/iseq.rb:38:in `load_iseq'                                           /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/compile_cache/iseq.rb:38:in `fetch': Permission denied - bs_fetch:atomic_write_cache_file:open (Errno::EACCES)                                                                                                                                                                             19: from mybb.rb:4:in `\u003cmain\u003e'                                                                                                                                                  18: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                17: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                16: from /var/www/discourse/script/import_scripts/base.rb:16:in `\u003ctop (required)\u003e'                                                                                              15: from /var/www/discourse/script/import_scripts/base.rb:16:in `require_relative'                                                                                              14: from /var/www/discourse/config/environment.rb:4:in `\u003ctop (required)\u003e'                                                                                                       13: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                12: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'                                                                                11: from /var/www/discourse/config/application.rb:54:in `\u003ctop (required)\u003e'                                                                                                      10: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:324:in `require'                                              9: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:291:in `load_dependency'                                      8: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:324:in `block in require'                                     7: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'                                 6: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'               5: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'                                  4: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'                                                                                                                                                                                      3: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'                                 2: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/compile_cache/iseq.rb:34:in `load_iseq'                                                    1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/compile_cache/iseq.rb:44:in `rescue in load_iseq'                                 /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/compile_cache.rb:29:in **`permission_error': bootsnap doesn't have permission to write cache entries in 'tmp/cache/bootsnap-compile-cache' (or, less likely, doesn't have permission to read '/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/pry-rails-0.3.9/lib/pry-rails.rb') (Bootsnap::CompileCache::PermissionError)**\n```

我已经尝试过以下方法:

* 将用户切换回 root
* `chmod -R 777 tmp/cache/bootsnap-compile-cache`
* `chmod -R 777 /var/www/discourse/vendor/bundle/ruby/2.6.0/gems`
* 然后再通过 `su - discourse` 切换回 discourse 用户

但这些方法都没有帮助。有人知道如何解决这个问题吗?
1 个赞