【发布时间】:2016-12-08 09:40:10
【问题描述】:
我正在尝试将我的项目推到 Heroku。我一直在使用:
gem 'dotenv-rails', :groups => [:development, :test]
因为我正在使用 recpatcha 并且需要将我的密钥导出到正在开发的应用程序。
当我尝试将代码推送到 heroku 时,我注意到此错误消息:
remote: ! NameError: uninitialized constant Dotenv
所以我注释掉了应用程序中的 Dotenv gem 和任何 Dotenv 变量。我跑了
$ bundle exec rake -P
然后再次尝试推送。我仍然从 Heroku 收到同样的错误。我是否需要以某种方式重置我的 gemfile?
【问题讨论】:
-
问题是我的 dotenv 工作正常,并且我已经使用键设置了我的 heroku 配置,只是当我推送到 heroku 时,我得到了未初始化的常量错误。
-
从上面提到的答案中看到这条评论:stackoverflow.com/questions/23439148/…
-
我不确定如何使用 init 文件将 dotenv 加载到生产环境中,您能解释一下那里的含义吗?
-
好的。在您的
rails_project/cofig/中创建一个文件并将其命名为dotenv_load.rb到这个新文件中粘贴此代码require 'dotenv' Dotenv.load。然后在你的项目中找到secret_key_base。复制secret_key_base的值并将其粘贴到boot.rb中,如下所示ENV["SECRET_KEY_BASE"] = "YOUR SECRET KEY BASE"
标签: ruby-on-rails heroku recaptcha uninitialized-constant