【发布时间】:2021-02-05 16:45:40
【问题描述】:
我正在尝试使用位于 https://github.com/HubSpot/hubspot-api-ruby#installation 的 Hubspot API Ruby gem,但我遇到了 Ruby on Rails 的问题。
对于我所有的其他 gem,我可以简单地将 gem 添加到 Gemfile 中,它可以在应用程序中工作,但不是这种情况,我不知道为什么。
例如,这是我的 Gemfile 中的内容:
# HubSpot API Client
gem 'hubspot-api-client'
我已经运行bundle install 并成功安装,但我仍然无法使用该 gem。如果我通过 irb 控制台加载 gem,那么它就可以正常工作。
这就是我的意思:
使用 IRB
root@8af3866a29c8:/myapp# irb
irb(main):001:0> require 'hubspot-api-client'
=> true
irb(main):002:0> Hubspot
=> Hubspot
使用 Rails 控制台
root@8af3866a29c8:/myapp# rails c
Running via Spring preloader in process 6589
Loading development environment (Rails 5.2.4)
irb(main):001:0> require 'hubspot-api-client'
Traceback (most recent call last):
1: from (irb):1
LoadError (cannot load such file -- hubspot-api-client)
irb(main):001:0> Hubspot
Traceback (most recent call last):
1: from (irb):1
NameError (uninitialized constant Hubspot)
irb(main):002:0>
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
如果你的 gemfile 中有它,除非你使用了
require: false,否则你不需要在你的 Rails 控制台中手动要求它。 -
即使以这种方式或其他方式(手动要求),它仍然不起作用,但这是一个我不知道的好技巧。谢谢
-
无论如何......这似乎是一个更受欢迎的宝石 - github.com/HubspotCommunity/hubspot-ruby
-
您是否成功地使用了 Rails 中的其他 gem?只是想确保您使用的是应用程序的版本而不是系统,尽管我认为这不太可能。也许试试
bundle exec rails c看看有没有什么不同? -
是的。 Rails 中的所有其他宝石都可以正常工作
标签: ruby-on-rails ruby rubygems