Ruby on rails 密钥基不为';不行吗?

Ruby on rails 密钥基不为';不行吗?,ruby-on-rails,Ruby On Rails,我正在学习Daniel Keogh的learn rails教程,我完全无法设置密钥。我在.bashrc文件中设置了以下内容: export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a

我正在学习Daniel Keogh的learn rails教程,我完全无法设置密钥。我在.bashrc文件中设置了以下内容:

    export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting


[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

export GMAIL_USERNAME="entered my gmail here"
export GMAIL_PASSWORD="and pass here"
export MAILCHIMP_API_KEY="key here"
export MAILCHIMP_LIST_ID="id here"
export OWNER_EMAIL="as per above"
export SECRET_KEY_BASE="754735714c2b591df6fedeeba6b6d0a118ce6d9cb01382022f01d2f1be5ac97143204c9726d37ab44b516542ed49a0a17e671b5b9b9100dd902140c164695859"
### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"`enter code here`
然后,我将我的机密文件设置为:

    development:

email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
domain_name: example.com
owner_email: <%= ENV["OWNER_EMAIL"] %>
secret_key_base: 754735714c2b591df6fedeeba6b6d0a118ce6d9cb01382022f01d2f1be5ac97143204c9726d37ab44b516542ed49a0a17e671b5b9b9100dd902140c164695859

test:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
# Do not keep production secrets in the repository,
# instead read values from the environment.

production:
email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
domain_name: <%= ENV["DOMAIN_NAME"] %>
owner_email: <%= ENV["OWNER_EMAIL"] %>
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
开发:
电子邮件\提供商\用户名:
电子邮件\提供商\密码:
mailchimp_api_密钥:
mailchimp\u列表\u id:
域名:example.com
业主(电邮:
密钥库:754735714C2B591DF6FEDEBA6B6D0A118CE6D9CB01382022F01D2F1BE5AC97143204C9726D37AB44B516542ED40A17E671B9B9100DD902140C164695859
测试:
机密密钥库:
#不要在存储库中保留生产机密,
#而是从环境中读取值。
制作:
电子邮件\提供商\用户名:
电子邮件\提供商\密码:
mailchimp_api_密钥:
mailchimp\u列表\u id:
域名:
业主(电邮:
机密密钥库:
当我启动web服务器时,我得到以下信息:

内部服务器错误

缺少
secret\u key\u base
对于“开发”环境,请在
config/secrets.yml中设置此值
WEBrick/1.3.1(Ruby/2.1.1/2014-02-24)0.0.0.0:3000


在网上找不到任何答案,现在已经被困在这个问题上好几天了!我做错了什么

您的缩进应该是

development:
  email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
  email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
  mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
  mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
  domain_name: example.com
  owner_email: <%= ENV["OWNER_EMAIL"] %>
  secret_key_base:     754735714c2b591df6fedeeba6b6d0a118ce6d9cb01382022f01d2f1be5ac97143204c9726d37ab44b516542ed49a0a17e671b5b9b9100dd902140c164695859

test:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
  # Do not keep production secrets in the repository,
  # instead read values from the environment.

production:
  email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
  email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
  mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
  mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
  domain_name: <%= ENV["DOMAIN_NAME"] %>
  owner_email: <%= ENV["OWNER_EMAIL"] %>
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
开发:
电子邮件\提供商\用户名:
电子邮件\提供商\密码:
mailchimp_api_密钥:
mailchimp\u列表\u id:
域名:example.com
业主(电邮:
密钥库:754735714C2B591DF6FEDEBA6B6D0A118CE6D9CB01382022F01D2F1BE5AC97143204C9726D37AB44B516542ED40A17E671B9B9100DD902140C164695859
测试:
机密密钥库:
#不要在存储库中保留生产机密,
#而是从环境中读取值。
制作:
电子邮件\提供商\用户名:
电子邮件\提供商\密码:
mailchimp_api_密钥:
mailchimp\u列表\u id:
域名:
业主(电邮:
机密密钥库:

我也遇到了同样的问题,我还在ZSH下运行我的ENV。我需要把书中的信息放在两个地方

.bash_配置文件
.zshrc

我在这两个位置使用硬编码变量使用相同的导入。
(删除个人数据以获取答案)

然后,我使用以下命令设置secrets.yml文件:

development:
email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
domain_name: example.com
owner_email: <%= ENV["OWNER_EMAIL"] %>
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
开发:
电子邮件\提供商\用户名:
电子邮件\提供商\密码:
mailchimp_api_密钥:
mailchimp\u列表\u id:
域名:example.com
业主(电邮:
机密密钥库:


关闭终端并重新启动终端,重新启动服务器,我就可以提交到Google Drive了

这是你真正的缩进
秘密.yml
?YAML对缩进非常严格。对不起,你是说真正的缩进吗?啊,你是说“?如果是这样的话,这正是我写的-我是否应该丢失.bashrc文件中密钥周围的“”标记?每行文本前的空格数:。抱歉,但我仍然感到困惑,我在:后面有1个空格,然后输入了一个没有任何“”标记的密钥!真不敢相信事情竟如此简单。但是有一件事,为了让它从.bashrc开始工作,我可以把secret_key_base:放在开发中吗?也就是说,我在.bashrc文件中的缩进是否正确?非常感谢您的帮助。对不起,我从未使用过
.bashrc
。我只知道你可能不需要缩进任何东西;将所有文本置于左侧。
development:
email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
domain_name: example.com
owner_email: <%= ENV["OWNER_EMAIL"] %>
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>