我正在尝试使用 Capistrano 将我的 Rails 6 应用程序部署到服务器。
我遇到了这个错误消息。
Missing `secret_key_base` for 'production' environment, set this string with `rails credentials:edit`
许多其他帖子和文章都建议使用secret.yml文件。 但我不想这样做。因为我在 Rails 6 上时在应用程序中没有 secret.yml 文件。
更新。
我在文件夹中手动制作文件。 config/secrets.yml
production:
secret_key_base: ******************************
仍然收到相同的错误。
我找到了解决方法。或者也许是解决方案。我做了以下事情。
1.服务器端。
在您的服务器中 -yourappfolder/shared/config/
制作"secrets.yml"文件并写入详细信息。
deploy@xx.xx.xx.xx.:~/myapp/shared/config$ ls
secrets.yml
秘密.yml
production:
secret_key_base: something---key------
2. 本地机器
在您的 -config/envirenments/production.rb
更新此内容。
config.require_master_key = false
创建config/secrets.yml
并写入所需的值。
或
在应用程序.rb 中设置secret_key_base
config.secret_key_base = 'blipblapblup'