将上传迁移到 S3 以用于'default'... rake 中止!

NameError: 未初始化的常量 FileStore::ToS3Migration::Aws

我已按照手册设置了存储桶。然后我在控制台中输入了命令,但无法迁移图片。为什么会出现这个错误?
我输入的是 (app:/var/www/discourse# : )

DISCOURSE_S3_BUCKET=new-bucket \
DISCOURSE_S3_REGION=EU_Frankfurt \
DISCOURSE_S3_ACCESS_KEY_ID=dsadadassdadaIdsadY4 \
DISCOURSE_S3_SECRET_ACCESS_KEY=xyss1dsMtdsakcmjxBVsg1xsadaX \
rake uploads:migrate_to_s3
1 个赞

是出现了 bug,还是我可能拼写错了?

试试 eu-central-1 — 查看 AWS service endpoints - AWS General Reference 获取区域列表。

3 个赞

不幸的是,问题仍然存在。

 >    正在将上传迁移到 'default' 的 S3...
>     rake aborted!
>     NameError: uninitialized constant FileStore::ToS3Migration::Aws
>     /var/www/discourse/lib/file_store/to_s3_migration.rb:159:in `migrate_to_s3'
>     /var/www/discourse/lib/file_store/to_s3_migration.rb:61:in `migrate'
>     /var/www/discourse/lib/tasks/uploads.rake:239:in `migrate_to_s3'
>     /var/www/discourse/lib/tasks/uploads.rake:218:in `block in migrate_to_s3_all_sites'
>     /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.1.1/lib/rails_multisite/connection_management.rb:64:in `with_connection'
>     /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.1.1/lib/rails_multisite/connection_management.rb:74:in `each_connection'
>     /var/www/discourse/lib/tasks/uploads.rake:216:in `migrate_to_s3_all_sites'
>     /var/www/discourse/lib/tasks/uploads.rake:212:in `block in <top (required)>'
>     /usr/local/bin/bundle:23:in `load'
>     /usr/local/bin/bundle:23:in `<main>'
>     Tasks: TOP => uploads:migrate_to_s3
>     (See full trace by running task with --trace)

阅读其他线程并尝试定位问题时,我注意到我的文件中只有这些设置。难道不应该包含任何 S3 相关的数据吗?

我的 discourse.conf 文件内容如下:

> hostname = 'dasda' 
> smtp_user_name = 'dadsafa' 
> smtp_address = 'fasfaf' 
> db_socket = '/var/run/postgresql' 
> developer_emails = 'dasda@zyz.com' 
> smtp_port = '587' 
> smtp_password = 'zxc' 
> db_host = '' 
> db_port = '' 
> force_https = 'true'

我已将 app.yml 中的数据配置为使用 S3,因此现在 GlobalSetting.use_s3? 返回 true,

但我仍然无法将文件迁移到 S3。