Как просмотреть переменные среды?
Я пытаюсь подключиться к моему серверу-толкателю, но получаю ошибку:
Отсутствует конфигурация клиента: проверьте, что настроены ключ, секрет и app_id.
Я хочу проверить свои переменные среды, но пока не могу найти какой-либо четкий способ сделать это в Stack Overflow.
Ответы
Ответ 1
Печать среды из командной оболочки
Как указывали другие ответы, можно использовать /usr/bin/env
или /usr/bin/printenv
из командной строки, чтобы увидеть, что среда находится в оболочке перед запуском Rails или в подоболочке после ее запуска. Например:
-
rails s
RETURN
- CTRL-Z
-
env
RETURN
-
fg
RETURN
Отображение ENV из уровня просмотра
В Ruby ENV является "хэш-подобным" доступом для переменных среды; на самом деле это не Хэш. Вы можете достаточно легко ввести ENV из консоли Rails, набрав env
или ENV['foo']
, но иногда вам может понадобиться посмотреть, что Rails считает среду во время рендеринга. В этом случае вы хотите Rails debug helper. Например:
# ERB
<%= debug ENV.to_h.to_yaml %>
# HAML
= debug ENV.to_h.to_yaml
Вызов #to_yaml для сериализации объекта ENV облегчит чтение вывода, но вам нужно сначала преобразовать ENV в хэш или массив. Вы также можете просто вызвать debug ENV
без привязки; это просто тяжелее на глазах.
Ответ 2
Используйте команду ENV
в консоли rails. Это вернет хэш ваших экологических ценностей, к которым вы можете получить доступ. Кроме того, вы можете получить доступ к своим переменным окружения из корневого пути приложений, используя ту же команду, и переменные будут возвращены в формате.
Ответ 3
Или используйте оболочку O/S, в Ubuntu используйте
printenv
Ответ 4
Я также использовал в слое вида следующее:
<% request.env.each do |key, value| %>
<strong><%= key %></strong> => <%= value %><br/>
<% end %>
Мне было очень полезно отлаживать проблемы, вызванные переменными env, установленными на уровне пассажира /nginx, которые не отображались, когда я использовал консоль rails.
Ответ 5
Обе эти команды будут печатать для вывода переменных среды:
env
printenv