web-dev-qa-db-fra.com

Comment visualiser mes variables d'environnement?

J'essaie de me connecter à mon serveur pousseur mais je reçois le message d'erreur:

Configuration client manquante: vérifiez que la clé, le secret et app_id sont configurés.

Je souhaite vérifier mes variables d'environnement, mais ne trouve pas encore de moyen clair de le faire sur Stack Overflow 

15
chopper draw lion4

Impression de l'environnement à partir du shell

Comme d'autres réponses l'ont déjà souligné, on peut utiliser /usr/bin/env ou /usr/bin/printenv à partir de la ligne de commande pour voir quel est l'environnement dans le shell avant de démarrer Rails ou dans un sous-shell après le démarrage. Par exemple:

  1. Rails s RETURN
  2. CTRL-Z
  3. envname__ RETURN
  4. fgname__ RETURN

Affichage de ENV à partir de la couche de vue

En Ruby, ENV est un accesseur semblable à un hachage pour les variables d'environnement; c'est pas en fait un hachage. Vous pouvez facilement observer ENV depuis votre console Rails en saisissant simplement ENVou ENV['foo'], mais vous voudrez peut-être parfois savoir ce que Rails pense de l'environnement lors du rendu. Dans ce cas, vous voulez le aide au débogage Rails . Par exemple:

# ERB
<%= debug ENV.to_h.to_yaml %>

# HAML
= debug ENV.to_h.to_yaml

L'appel de #to_yaml pour sérialiser l'objet ENV facilitera la lecture de la sortie, mais vous devez d'abord convertir ENV en un hachage ou un tableau. Vous pouvez également simplement appeler debug ENV sans chaînage; c'est juste plus dur pour les yeux.

20
Todd A. Jacobs

Utilisez la commande ENV dans la console Rails. Cela vous donnera un hachage de vos valeurs environnementales auxquelles vous pouvez accéder. Vous pouvez également accéder à vos variables d'environnement à partir du chemin racine de vos applications à l'aide de la même commande. Les variables seront alors renvoyées au format.

7
chopper draw lion4

Ou utilisez le shell O/S, sous Ubuntu 

printenv
6
Michael Moulsdale

Ces deux commandes imprimeront sur stdout vos variables d’environnement:

env

printenv

1
jasonleonhard

J'ai également utilisé les éléments suivants dans la couche de vue:

<% request.env.each do |key, value| %>
  <strong><%= key %></strong> => <%= value %><br/>
<% end %>

J'ai trouvé très utile de résoudre les problèmes causés par les variables env définies au niveau passager/nginx, qui ne s'afficheraient pas lorsque j'utilisais la console Rails.

0
crypticsymbols