我正在按照以下说明在 Debian 10 服务器(不是 AWS)上试用 Sharetribe 社区版:https ://github.com/sharetribe/sharetribe#installation
我被困在第 7 步,出现以下错误:
Aws::Sigv4::Errors::MissingCredentialsError:缺少凭据,请提供具有以下选项之一的凭据:
:access_key_id and :secret_access_key :credentials :credentials_provider
但是,Rails 知道我使用的不是亚马逊而是本地存储,因为我有以下两个设置:
File: config/environments/development.rb
config.active_storage.service = :local
File: config/environments/production.rb
config.active_storage.service = :local
更改这些设置后,我运行以下命令:
~/sharetribe$ EDITOR=“sub1 --wait” bin/rails credentials:edit
并得到以下输出:
添加 config/master.key 来存储主加密密钥:[已编辑]
将此保存在您的团队可以访问的密码管理器中。如果您丢失了密钥,包括您在内的任何人都无法访问使用它加密的任何内容。
创建配置/master.key
忽略 config/master.key 这样它就不会出现在 Git 历史记录中:
附加 .gitignore
新凭据加密并保存。
但运行后:
~/sharetribe$ bundle exec rake db:create db:structure:load
我得到上面的错误。
编辑:这里是 config/storage.yml。不知道我是否应该注释掉亚马逊部分
test:
service: Disk
root: <%= Rails.root.join("tmp/storage") %>
local:
service: Disk
root: <%= Rails.root.join("storage") %>
# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
amazon:
service: S3
access_key_id: <%= APP_CONFIG.aws_access_key_id%>
secret_access_key: <%= APP_CONFIG.aws_secret_access_key %>
region: <%= APP_CONFIG.s3_region %>
bucket: <%= APP_CONFIG.clp_s3_bucket_name %>
upload:
acl: "public-read"
cache_control: 'max-age=3600'
TLDR:我想将 Sharetribe 的数据库存储在它自己的服务器中,但尽管本地设置,Rails 仍不断要求 AWS/Amazon 凭证