You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 7.x环境变量文件位置及配置方法求助

Rails 7.x 环境变量(ENV)相关问题解答

核心结论

Rails 没有内置读取.env类本地配置文件的功能,默认情况下ENV["XXX"]直接读取的是系统/当前Shell会话的环境变量,而非项目内的存储文件。

如何查看当前可用的ENV变量

  • 在Rails控制台中查看:
    启动Rails控制台(rails console),直接输入ENV可列出所有当前Rails能读取到的环境变量;要查看指定变量,输入ENV["DATABASE_PASSWORD"]即可。
  • 在Windows Shell中查看:
    • 命令提示符(CMD):执行 echo %DATABASE_PASSWORD%
    • PowerShell:执行 $env:DATABASE_PASSWORD

如何设置/更新ENV变量

根据生效范围,有两种常见方式:

1. 临时设置(仅当前Shell会话有效)

设置后仅在当前打开的Shell窗口中生效,关闭窗口后失效:

  • CMD:先执行 set DATABASE_PASSWORD=你的数据库密码,再启动Rails(rails server或rails console)
  • PowerShell:先执行 $env:DATABASE_PASSWORD="你的数据库密码",再启动Rails

2. 永久设置(系统/用户级,重启Shell生效)

设置后所有新打开的Shell窗口都能读取到该变量:

  • 图形界面操作:
    按下Win+R,输入sysdm.cpl回车 → 切换到「高级」选项卡 → 点击「环境变量」→ 在「用户变量」或「系统变量」区域点击「新建」,添加变量名DATABASE_PASSWORD和对应值,确定后关闭所有Shell窗口重新打开即可生效。
  • PowerShell命令行操作(用户级):
    执行 [Environment]::SetEnvironmentVariable("DATABASE_PASSWORD", "你的数据库密码", "User"),执行后重启Shell生效。

补充说明

项目中出现ENV["DATABASE_PASSWORD"]这类调用但无Dotenv/Figaro依赖,大概率是开发人员默认依赖系统环境变量管理敏感配置,或是之前使用过第三方环境变量管理gem后移除,但代码未同步修改。

内容的提问来源于stack exchange,提问作者Learn-ing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:52:39