gpt4 book ai didi

ruby-on-rails - `secret_key_base` 环境缺少 'production',请在 Ubuntu 服务器上的 config/secrets.yml 中设置此值

转载 作者:行者123 更新时间:2023-12-01 23:37:49 24 4
gpt4 key购买 nike

所以在 Ubuntu 服务器上,我在我的日志中得到了这个:

#<RuntimeError: Missing `secret_key_base` for 'production' 
environment, set this value in `config/secrets.yml`>
/home/deploy/apps/project/shared/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/application.rb:510:in `validate_secret_key_config!'
/home/deploy/apps/project/shared/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/application.rb:247:in `env_config'```

我的浏览器:
An unhandled lowlevel error occurred. The application logs may have details.

我的secrets.yml(在deploy/apps/project/current/config & deploy/apps/project/shared/config):
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

部署文件
...
namespace :deploy do
desc 'Rails Secrets'
task :secret do
on roles(:app) do
execute "export SECRET_KEY_BASE=`bundle exec rake secret`"
end
end
before :finishing, :secret
...
end

我也试过手动添加 SECRET_KEY_BASE/etc/profile .当我输入这个命令时它存在: printenv (因为是我手动添加的),但是退出时 root它不再存在于 printenv .

ENV 变量不存在于 printenv 中命令。在我进行部署之后 ( cap production deploy:initial )。

如何解决此错误?

最佳答案

似乎您登录的用户与您用来添加 keystore 的用户不同。您以 root 身份登录,但我认为您没有使用 root 部署或启动服务器, 对?

如果您使用名为 deploy 的用户进行部署也就是说,您应该以 deploy 的身份登录并将环境变量添加到部署的上下文(例如 ~/.bashrc )。我不是 100% 确定 /etc/profile会在这里工作。另外,记得在添加 var 后重新启动 rails 服务器

关于ruby-on-rails - `secret_key_base` 环境缺少 'production',请在 Ubuntu 服务器上的 config/secrets.yml 中设置此值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50603623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com