【问题标题】:Opsworks Rails Console EnvironmentOpsworks Rails 控制台环境
【发布时间】:2013-06-29 00:50:31
【问题描述】:

我正在尝试在 amazon opsworks 中运行 rails 控制台,我已经尝试过:

sudo rails console -e production
sudo rails console production
RAILS_ENV=production sudo rails console
RAILS_ENV=production RACK_ENV=production sudo rails console

使用这些命令中的每一个,控制台都会在开发环境中启动。我需要做什么才能在我选择的环境中启动此控制台?

【问题讨论】:

    标签: ruby-on-rails aws-opsworks


    【解决方案1】:
    sudo su deploy  # switch to the app user
    cd /srv/www/myapp/current  # your deploy dir might be different (check logs if unsure)
    RAILS_ENV=production bundle exec rails console
    

    【讨论】:

    • 似乎不起作用。我收到有关缺少环境变量的错误。
    • @MattGibson 抱歉,我没有使用环境变量支持。这些食谱只是write them into the unicorn.conf file,所以我不确定是否有一种优雅的方式可以从那里重复使用它们。
    • @MattGibson 查看我的答案,它将-E 添加到 sudo 命令中。那应该加载环境变量。
    【解决方案2】:

    假设您已通过 ssh 进入实例。

    $ cd /srv/www/yourapplication/current

    $ sudo bundle exec rails console

    【讨论】:

      【解决方案3】:

      解决方案 1(更快): 您可以使用此 gem https://github.com/bkeepers/dotenv 从 .env(.environment) 文件中添加环境变量。您必须记下此文件中需要加载的所有键和值。

      解决方案 2(更好): 像这里描述的那样做:http://dev.mikamai.com/post/90567083464/use-the-env-luke-aka-simulate-the-env-in

      【讨论】:

        【解决方案4】:

        如果您希望在不以 root 身份运行并且不将 dotenv 添加到 Gemfile 的情况下加载环境变量:

        $ cd /srv/www/<NAME_OF_YOUR_APP>/current
        $ sudo -u deploy -E bundle exec rails console production
        

        【讨论】:

          猜你喜欢
          • 2012-06-03
          • 1970-01-01
          • 2020-01-09
          • 2015-05-05
          • 2013-02-15
          • 1970-01-01
          • 1970-01-01
          • 2014-12-07
          • 1970-01-01
          相关资源
          最近更新 更多