【问题标题】:How can I configure the iex-ruby-client gem to work with a regular ruby program(not rails)?如何配置 iex-ruby-client gem 以使用常规 ruby​​ 程序(不是 rails)?
【发布时间】:2020-01-19 06:46:12
【问题描述】:

我正在做一个项目,试图从 iex 金融 api 中获取数据,我想知道如何配置它是一个常规的 ruby​​ 程序。我在 Rails 中取得了成功,但不知道如何在 ruby​​ 程序中做到这一点。我放了

iex-ruby gem 的配置文件

IEX::Api.configure do |config|
  config.publishable_token = 'Tpk_dd88c906f3ae4ac492644c2d0d82281d' # defaults to ENV['IEX_API_PUBLISHABLE_TOKEN']
  config.endpoint = 'https://sandbox.iexapis.com/v1' # defaults to 'https://cloud.iexapis.com/v1'
end 

在一个单独的文件中并要求在一个 stock.rb 文件中并得到以下错误:

/var/lib/gems/2.2.0/gems/iex-ruby-client-1.1.0/lib/iex/api.rb:1:in `require_relative': /var/lib/gems/2.2。 0/gems/iex-ruby-client-1.1.0/lib/iex/endpoints/chart.rb:14:语法错误,意外的“。” (语法错误) options&.each_pair 做 |k, v|

这看起来像是 gemfile 中的语法错误,但我确定我只是做错了什么。任何想法将不胜感激。

【问题讨论】:

    标签: ruby rubygems


    【解决方案1】:

    iex-ruby-client-1.1.0/lib/iex/endpoints/chart.rb 中的Line 14 看起来像这样

    options&.each_pair do |k, v|
    

    错误信息告诉 Ruby 认为该行存在语法错误。

    gem 在该行中使用了安全导航 (&.) - 这是 Ruby 2.3 引入的功能。这意味着 gem 依赖于 Ruby 2.3 但没有声明该依赖关系。另一方面,您仍在运行 Ruby 2.2。

    将您的 Ruby 版本至少更新到 2.3,您应该没问题。或者您可能想尝试将 gem 降级到版本 1.0.1,因为看起来维护者最近在最新版本中更改了语法。

    实际上,我建议将您的 Ruby 版本更新到 2.6 或 2.7,因为即使是 2.3 也已经到了生命周期的尽头,不再维护。

    【讨论】:

    • 我打开了一个issue on GitHub 并要求维护者添加缺少的required_ruby_version 声明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2021-05-06
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多