问题标签 [ruby-dotenv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
86 浏览

ruby - 如何在生产中不需要我在开发中需要的某些 gem/代码行

我不是在 Rails 中写作。它只是红宝石。

但是我有一个开发环境,它在 Gemfile 中有自己的开发组。

但我不会在 Iron.io 的生产中使用它们。

特别是,我使用“log_buddy”并且d {var}自始至终有很多语句。

我使用prywhich has a require pryandrequire-debug声明。

这些语句会在代码在生产环境中运行pry的情况下产生错误,并在日志记录重复的情况下产生。log_buddy

如何区分这两种环境?

我已经阅读dotenv了其他一些宝石,但不太了解它在我的场景中是如何工作的。

0 投票
1 回答
802 浏览

ruby-on-rails - Heroku 本地 byebug / 调试器损坏

我一直在使用 Heroku Toolbelt 的“Heroku local”命令来在本地加载环境变量。然而,这打破了byebug。使用 Heroku 本地命令时,我无法进入(byebug)提示符。结果,我被迫退出本地 Heroku 并使用“rails s”运行我的服务器。然而,这是一个问题,因为我的环境变量不再加载。

Heroku 本地文档:https: //devcenter.heroku.com/articles/heroku-local Byebug 文档:https ://github.com/deivid-rodriguez/byebug 加载环境变量概述:http ://www.gotealeaf.com /blog/managing-environment-configuration-variables-in-rails

0 投票
0 回答
128 浏览

ruby-on-rails - Dotenv 在 routes.rb 中不可用?

自从我开始在我的 routes.rb 中使用 Dotenv 之后,我就遇到了奇怪的错误。

我在用着gem 'dotenv-rails', '~> 2.0.0'

routes.rb

终端:

我没有在这两者之间做任何事情rails s,只是重复它并且它起作用了。这真的很奇怪。

这是我正在加载的地方dotenv

有谁知道发生了什么?

- -更新 - -

我已经用谷歌搜索并尝试了一切。它仍然只出现在所有命令的开发环境中railsrake

有人遇到过这个问题吗?这让我疯狂。

0 投票
1 回答
1823 浏览

fastlane - 无法从在 fastlane 中工作的文件中获取环境变量

尝试遵循 fastlane 中有关 env vars 和 dotenv 文件的示例和文档,但我无法让任何 ENV 变量在 fastlane 中工作。我的 Fastfile 有这个来测试变量的使用:

我的 .env.default 文件与 Fastfile 位于同一目录中,并且只有这一行:

我在这里缺少什么语法?当我运行上面的测试通道时,打印的都是 +++。我期待 +++123abc。也许是 Ruby 问题 - 我不知道 Ruby。我尝试在 Mac 上显式安装 dotenv gem,但没有任何区别。

0 投票
1 回答
1367 浏览

ruby-on-rails - 500 内部服务器错误 - Aws::S3::Errors::AccessDenied - CarrierWave

我正在尝试通过 CarrierWave 将图像上传到 S3,但不断收到 500 内部服务器错误 - Aws::S3::Errors::AccessDenied。我正在使用 ruby​​ gem CarrierWave 来配置 AWS 和 dotenv-rails 以在 .env 文件中调用和隐藏我的凭据。看来我的代码工作正常,但我被拒绝访问我的存储桶。这是我第一次尝试将 AWS 集成到项目中,因此我的配置可能会因此而关闭。任何帮助将不胜感激。

我已经尝试重置我的访问密钥并确保我的区域设置正确。我什至更改了区域并收到一个错误提示我将其更改回正确的区域:“us-west-1”。我通过确保我可以通过 rails 控制台获取我的凭据来确保 dotenv-rails 正常工作。我还使用“byebug”在我的投资组合控制器中的更新操作中设置了一个断点,以便自己手动输入更新代码。我可以看到我正在尝试更新我的投资组合项目的新图像,但它总是回滚。

投资组合控制器.rb:

载波.rb:

投资组合上传器.rb:

导轨服务器:

我希望这能够工作并能够访问 AWS 资源,但也许我需要为我的存储桶设置一些配置?到目前为止,AWS 文档一直难以消化。我可以使用帮助,谢谢。

0 投票
1 回答
627 浏览

ruby - “vanilla” Ruby dotenv 是否会拾取 .env 以外的任何文件?

我想在我的非 Rails Ruby 应用程序中使用特定于环境的变量。

我尝试了不同的文件名,如.env.test.local, .env.local,.env.test

我尝试使用Dotenv.loadandrequire 'dotenv/load'方法

这就是我包装任务的方式

这是我的服务器

我的.env.test档案

预期行为

API_URL 变量应该可用于:test任务运行的代码(使用bundle exec rake test)。

观察到的行为

由于ENV['API_URL']为空而导致的错误。

见回购

0 投票
3 回答
25594 浏览

ruby-on-rails - 是否可以使用 dotenv 将 JSON 文件存储到 ENV 变量中?

我在 Rails 应用程序中使用 Google Drive API。API 工作正常。我有以下 client_secret.json 文件:

在我的控制器中调用

有了这个配置没问题,我设法使用了 API。但是,我想将我的 JSON 存储在 .env 文件中,例如:

并以这种方式在控制器中调用

或者以这种方式

但是这两种方法都不起作用。所以我的问题是:“是否可以将 JSON 文件存储在 ENV 变量中?”

0 投票
2 回答
4009 浏览

ruby-on-rails - dotenv 是否会覆盖 docker compose 设置的环境变量?

我不熟悉 Docker 或 devops,但我有这些文件:

.env.production

码头工人-compose.ci.yml

  • 这两个文件都包含更多内容,但这些是相关行。
  • 最后将envvar设置为什么?
0 投票
1 回答
767 浏览

ruby-on-rails - 使用 Foreman 时如何为测试和开发设置不同的环境变量

目前,我将敏感信息(例如 API 密钥)存储在.env由 Foreman gem 加载的文件中。这很好用,我能够访问在开发和测试中相同的环境变量。

我希望能够为我的测试环境使用与我的开发环境不同的一组 API 密钥。

我尝试根据我所看到的https://www.rubydoc.info/gems/dotenv/2.7.5做类似.env.development的事情.env.test

如果它在这里有用的话是我正在使用的通用堆栈:Rails 5.2.3、Minitest、Guard(在保存时运行我的测试)和 Foreman。目前这个应用程序正在部署到 Heroku。

这是我的test_helper.rb

我目前的工作是有一个额外的环境变量,它的后缀_test是我用来覆盖test_helper.rb. 但这对我来说感觉不对。

0 投票
2 回答
3811 浏览

environment-variables - dotenv gem 在 Rails 6 或 Ruby 2.6.5 中没有变量

我正在使用dotenv gem将开发环境变量存储在机密文件中。在我的计算机上升级 ruby​​ 和 rails 后,gem 不再提取变量。为了尝试找出原因,经过一段时间的尝试不同的选择,我最终创建了两个相同的应用程序,只有两个不同。ruby 和 rails 版本。一个应用程序能够提取环境变量,另一个应用程序返回 nil。有什么建议么?

我的设置

工作申请有

非工作应用程序有

到目前为止我尝试过的

  • 我阅读了 gem 网站上的信息并尝试添加Dotenv::Railtie.load到我的config/application.rb文件中。
  • 此外,我尝试添加require: 'dotenv/rails-now'我的 Gemfile,以防它是因为另一个 gem 问题。
  • 我添加require 'dotenv/load'到需要变量的文件中。
  • 我添加'require dotenv/load'config/application.rb文件中的各个位置

我单独进行的每项更改并使用byebug来检查终端是否已加载变量。并且每次变量是静止的nil

有什么我想念的吗?有什么建议么?或者我应该切换到另一个宝石?我听说figaro可能会做同样的事情,只是以前从未使用过。预先感谢您的帮助。