你好,
目前我正尝试将我的论坛从 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 用户
但这些方法都没有帮助。有人知道如何解决这个问题吗?