【问题标题】:Error when trying to run rails application on mac尝试在 mac 上运行 rails 应用程序时出错
【发布时间】:2020-03-12 11:20:24
【问题描述】:

我作为一个学校项目团队的一员工作。我们正在使用 Ruby 2.6.5 和 Rails 6.0.2.1。我已经从 GitHub 中提取了 master 分支,但是当我尝试运行应用程序时,我收到了这个错误:

ArgumentError:“生产”环境缺少 secret_key_base

我在网上查看,发现旧的解决方案是更改 config/secrets.yml 文件,但 rails 6 不再有该文件,而是有一个具有相同功能的编码的 credentials.yml.enc 文件。我该如何解决这个问题?

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

Rails > 5.2 引入了一项用于保护凭据的新功能。为此,rails 在config 文件夹中使用了master.key,该文件夹通常添加到.gitignore,这样它就可以保持安全并且不会被推送到git。

master.key 用于加密或解密您找到的credentials.yml.enc 文件中的内容。

如果您在一个团队中工作,则项目创建者必须亲自与您共享此 master.key 文件,或者您必须创建一个新的 credentials.yml.enc。您可以使用以下命令来完成 -

EDITOR=vim rails credentials:edit

这将在您的机器中创建一个新的master.keycredentials.yml.enc,但您的队友在credentials.yml.enc 中所做的更改将会丢失。为避免这种麻烦,只需从您的队友那里获取master.key 并将其放入config。文件夹。

【讨论】:

    【解决方案2】:

    您可以尝试更改 config.require_master_key = true #in config/environments/production.rb

    您可以到此链接查看详细信息:- https://blog.engineyard.com/rails-encrypted-credentials-on-rails-5.2

    我希望这对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-21
      • 2019-04-02
      • 2017-07-15
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 2016-06-13
      相关资源
      最近更新 更多