问题标签 [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.
ruby - 如何在生产中不需要我在开发中需要的某些 gem/代码行
我不是在 Rails 中写作。它只是红宝石。
但是我有一个开发环境,它在 Gemfile 中有自己的开发组。
但我不会在 Iron.io 的生产中使用它们。
特别是,我使用“log_buddy”并且d {var}
自始至终有很多语句。
我使用pry
which has a require pry
andrequire-debug
声明。
这些语句会在代码在生产环境中运行pry
的情况下产生错误,并在日志记录重复的情况下产生。log_buddy
如何区分这两种环境?
我已经阅读dotenv
了其他一些宝石,但不太了解它在我的场景中是如何工作的。
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
ruby-on-rails - Dotenv 在 routes.rb 中不可用?
自从我开始在我的 routes.rb 中使用 Dotenv 之后,我就遇到了奇怪的错误。
我在用着gem 'dotenv-rails', '~> 2.0.0'
routes.rb
:
终端:
我没有在这两者之间做任何事情rails s
,只是重复它并且它起作用了。这真的很奇怪。
这是我正在加载的地方dotenv
:
有谁知道发生了什么?
- -更新 - -
我已经用谷歌搜索并尝试了一切。它仍然只出现在所有命令的开发环境中rails
。rake
有人遇到过这个问题吗?这让我疯狂。
fastlane - 无法从在 fastlane 中工作的文件中获取环境变量
尝试遵循 fastlane 中有关 env vars 和 dotenv 文件的示例和文档,但我无法让任何 ENV 变量在 fastlane 中工作。我的 Fastfile 有这个来测试变量的使用:
我的 .env.default 文件与 Fastfile 位于同一目录中,并且只有这一行:
我在这里缺少什么语法?当我运行上面的测试通道时,打印的都是 +++。我期待 +++123abc。也许是 Ruby 问题 - 我不知道 Ruby。我尝试在 Mac 上显式安装 dotenv gem,但没有任何区别。
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 文档一直难以消化。我可以使用帮助,谢谢。
ruby - “vanilla” Ruby dotenv 是否会拾取 .env 以外的任何文件?
我想在我的非 Rails Ruby 应用程序中使用特定于环境的变量。
我尝试了不同的文件名,如.env.test.local
, .env.local
,.env.test
我尝试使用Dotenv.load
andrequire 'dotenv/load'
方法
这就是我包装任务的方式
这是我的服务器
我的.env.test
档案
预期行为
API_URL 变量应该可用于:test
任务运行的代码(使用bundle exec rake test
)。
观察到的行为
由于ENV['API_URL']
为空而导致的错误。
ruby-on-rails - 是否可以使用 dotenv 将 JSON 文件存储到 ENV 变量中?
我在 Rails 应用程序中使用 Google Drive API。API 工作正常。我有以下 client_secret.json 文件:
在我的控制器中调用
有了这个配置没问题,我设法使用了 API。但是,我想将我的 JSON 存储在 .env 文件中,例如:
并以这种方式在控制器中调用
或者以这种方式
但是这两种方法都不起作用。所以我的问题是:“是否可以将 JSON 文件存储在 ENV 变量中?”
ruby-on-rails - dotenv 是否会覆盖 docker compose 设置的环境变量?
我不熟悉 Docker 或 devops,但我有这些文件:
.env.production
码头工人-compose.ci.yml
- 这两个文件都包含更多内容,但这些是相关行。
- 最后将envvar设置为什么?
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
. 但这对我来说感觉不对。
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可能会做同样的事情,只是以前从未使用过。预先感谢您的帮助。