【问题标题】:foreman not getting environment variables工头没有获取环境变量
【发布时间】:2014-06-27 17:10:48
【问题描述】:

我正在使用 foreman 作为 rails 应用程序中的环境变量。在我的 config/enviroments/development.rb 我有以下代码:

config.action_mailer.smtp_settings = { 
  address: "smtp.gmail.com",
  port: "587",
  domain: "gmail.com",
  authentication: "plain", 
  enable_starttls_auto: true,
  user_name: ENV['GMAIL_USERNAME'],
  password: ENV['GMAIL_PASSWORD'] 
  #user_name: "user@gmail.com",                    
  #password: "password"
}

我的 .env 文件如下:

GMAIL_USERNAME=user@gmail.com
GMAIL_PASSWORD=password

我的 Procfile 是:

web: bundle exec rvmsudo rails s -p 80

因此,如果我运行“工头启动”,我会收到以下消息:

Net::SMTPAuthenticationError in Devise::ConfirmationsController#create 530-5.5.1 Authentication Required

但是,如果我注释与环境变量有关的行并取消注释现在在 development.rb 中注释的行,一切正常。

所以我想问题是工头没有正确获取环境变量。 我正在使用带有分支的 git,并忽略 Procfile 和 .env

我的代码有什么问题吗?

【问题讨论】:

    标签: ruby-on-rails ruby devise foreman


    【解决方案1】:

    似乎没有设置环境变量。您使用哪种方法来做到这一点? Here's an article that explains several methods.

    尝试在命令行上手动设置它们:

    export GMAIL_USERNAME="user@gmail.com"
    export GMAIL_PASSWORD="password"
    

    然后在命令提示符处键入env 以验证它们是否已设置。然后试一试。

    【讨论】:

      猜你喜欢
      • 2019-07-10
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 2023-02-20
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 1970-01-01
      相关资源
      最近更新 更多