ruby-on-rails - NameError(未初始化的常量 SnowplowTracker::SelfDescribingJson):在 ruby 中制作扫雪机跟踪器时
问题描述
我收到错误:NameError(未初始化的常量 SnowplowTracker::SelfDescribeingJson):当我尝试在 ruby 中初始化描述 JSON 的自我时。下面是一些失败的示例代码:
require 'snowplow-tracker'
require 'contracts'
require 'webmock'
e = SnowplowTracker::Emitter.new('com.acme')
t = SnowplowTracker::Tracker.new(e)
t.track_self_describing_event(SnowplowTracker::SelfDescribingJson.new(
"iglu:com.example_company/save_game/jsonschema/1-0-2",
{
"saveId" => "4321",
"level" => 23,
"difficultyLevel" => "HARD",
"dlContent" => true
}
))
Strangly Emitter 和 Tracker 不会抛出错误。这里有更多的上下文:
- 使用 Ruby 2.5.5
- gemfile 包含所有要求并捆绑在一起
解决方案
我解决了这个问题。在我的 gemfile 中,我有:
gem 'contracts', '~> 0.16.0'
gem 'webmock', '~> 3.8', '>= 3.8.3'
gem 'snowplow-tracker'
本来应该:
gem 'contracts', '~> 0.11.0'
gem 'webmock', '~> 3.8', '>= 3.8.3'
gem 'snowplow-tracker', '~> 0.6.1'
如果您收到此错误,请检查此处可用的版本:https ://rubygems.org/gems/snowplow-tracker/versions/0.6.1
跟踪器还依赖于旧版本的合同,但bundle
会告诉我要使用哪一个。
推荐阅读
- excel - 在一个单元格中合并两个文本
- powershell - Chef:两个相互矛盾的 not_if powershell 保护语句评估为 true
- python - 将字典数据导出到 csv 文件
- vba - Excel - 运行时错误 1004 '应用程序定义或对象定义错误'
- git - 这是否可以在 Git 上的版本之间切换 - 就像分支一样?
- ios - UITextContainerView 仅在以大于 45° 的角度旋转时才调整为他的 UITextView 超级视图的大小
- serial-port - 我有一个 RS485 输出,但我不知道它使用的是哪个字符集
- javascript - NullInjectorError:没有自定义组件的提供者 - 添加到提供者不起作用
- numpy - 大高斯分布的稳定采样
- c# - 当 ASP.NET Core 应用程序关闭时,如何正确、安全地处理在容器中注册的单例实例