当我发出rest客户端请求时,出现以下错误:
D:\programs\ruby\practice>ruby practice.rb
<internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require': D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mime-types-3.1/lib/mime/types/logger.rb:28: _1 is reserved for numbered parameter (SyntaxError)
D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mime-types-3.1/lib/mime/types/logger.rb:28: _2 is reserved for numbered parameter
D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mime-types-3.1/lib/mime/types/logger.rb:28: _3 is reserved for numbered parameter
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mime-types-3.1/lib/mime/types.rb:226:in `<top (required)>'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mime-types-3.1/lib/mime/types/columnar.rb:1:in `<top (required)>'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rest-client-2.1.0-x64-mingw32/lib/restclient/request.rb:8:in `<top (required)>'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
from D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rest-client-2.1.0-x64-mingw32/lib/restclient.rb:10:in `<top (required)>'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
from D:/softwares/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rest-client-2.1.0-x64-mingw32/lib/rest-client.rb:2:in `<top (required)>'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
from practice.rb:1:in `<main>'
<internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- rest-client (LoadError)
from <internal:D:/softwares/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from practice.rb:1:in `<main>'
这是我的密码:
require 'rest-client'
response = RestClient.get 'https://www.linkedin.com/feed/'
puts response
有人能解决这个问题吗?谢谢你的赏识?
1条答案
按热度按时间6yt4nkrj1#
您有一个gem版本控制问题。在需要时得到的错误
rest-client
是:这是创业板的一个问题
mime-types
,其中rest-client
看情况而定。ruby在语法上引入了一个变化,以支持块中的“编号参数”,从而使_1, _2, ...
保留字。这种变化意味着那些命名了与这种风格相匹配的变量的人(_1, _2, etc.
)在ruby 2.7中得到警告。在ruby 3.0(您正在使用)中,这会导致语法错误。版本
mime-types
您正在使用的(3.1)必须具有此类代码;它在ruby 3.0之前就可以工作,但现在坏了。好消息是最新版本的mine-types
,3.3.1,与ruby 3配合使用。您只需更新您的gem:如果您使用的是bundler,则可能需要在
Gemfile
然后重新运行bundle install
以触发更新。