【发布时间】:2019-11-17 13:47:53
【问题描述】:
我在检查 localhost 时收到 Missingsecret_key_basefor 'production' environment, set this value in config/secrets.yml 错误。这没有意义,因为我应该在开发中。
我在服务器启动期间记录了Rails.env,它显示development。
从那里我尝试了一些数据库的东西:
rails dbconsole告诉我这个错误:psql: FATAL: role "my-server" does not existrails db:create告诉我这个:
Database 'my-server_development' already exists
Database 'my-server_test' already exists
- 接下来我决定试试
rails db:create,这给了我最直观的错误:
ActiveRecord::EnvironmentMismatchError: 您正在尝试修改上次在
development环境中运行的数据库。 您正在production环境中运行。如果您确定要继续,请先使用以下命令设置环境:bin/rails db:environment:set RAILS_ENV=production
总之,我的环境中的一些神秘配置似乎已设置为生产环境。此错误表明我尝试将我的 rails env 设置为生产环境以匹配它,但我想要将这个神秘的东西更改为开发。
任何帮助将不胜感激。
【问题讨论】:
-
如果
RAILS_ENV设置为env | grep RAILS_ENV,请检查您的终端。如果是,请运行unset RAILS_ENV。 -
@DennyMueller 它似乎没有在 ENV 中设置,
env | grep RAILS_ENV什么也不返回。
标签: ruby-on-rails-5 rails-activerecord