繁体   English   中英

如何查看环境变量?

[英]How do I view my environment variables?

我正在尝试连接到我的推送服务器但收到错误:

缺少客户端配置:请检查是否已配置密钥,密码和app_id。

我想检查我的环境变量,但在Stack Overflow上找不到任何明确的方法。

从命令行管理程序打印环境

正如其他答案所指出的,可以从命令行使用/usr/bin/env/usr/bin/printenv来查看在启动Rails之前shell中的环境,或者在启动它之后的子shell中。 例如:

  1. rails s RETURN
  2. CTRL-Z
  3. env RETURN
  4. fg 返回

从视图层显示ENV

在Ruby中, ENV是环境变量的“类哈希”访问器; 它实际上不是一个Hash。 只需键入ENVENV['foo']就可以轻松地从Rails控制台中反省ENV,但有时您可能希望看到Rails在渲染过程中认为环境是什么。 在这种情况下,您需要Rails调试助手 例如:

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

# HAML
= debug ENV.to_h.to_yaml

调用#to_yaml来序列化ENV对象将使输出更容易读取,但需要首先将ENV转换为散列或数组。 你也可以不用链接调用debug ENV ; 它只是在眼睛上更难。

或者在Ubuntu中使用O / S shell

printenv

在rails控制台中使用命令ENV 这将返回您可以访问的环境值的哈希值。 或者,您可以使用相同的命令从应用程序根路径访问环境变量,并且将返回格式化的变量。

这两个命令都将打印到stdout您的环境变量:

env

printenv

我还在视图层中使用了以下内容:

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

我发现调试由乘客/ nginx级别设置的env变量引起的问题非常有帮助,当我使用rails console时不会显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM