我正在尝试将(需要)httparty gem加载到Ruby文件中,但不断收到错误并且不成功。
以下是复制的错误:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- httparty (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/neilricci/Desktop/test.rb:1:in `<main>'
以下是httparty gem文件在我的计算机上的位置:
/Users/neilricci/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/httparty-0.13.7/lib/httparty.rb
通过使用sudo安装httparty解决了问题,这很奇怪,因为我安装了httparty作为主管理员。
sudo gem install httparty
您如何在代码中要求HTTParty gem?当你用大写字母包含你的宝石时,有时会出现错误,也就是说require "HTTParty"
明显不同于require "httparty"
。它可以产生一个'require': cannot load such file -- HTTParty (LoadError)
,这是一个名称差异;可能的解决方案是以完整的小写字母引用您的gem需求。
另一个可能的原因可能是您的ruby版本与gem需要的版本不兼容,也许您运行的代码片段的版本小于gem需要工作的版本;可能的解决方案是检查给你带来问题的gem的Ruby版本依赖性是什么,在撰写本文时,HTTParty的最后一个版本是0.14.0,需要一个等于或大于1.9.3的Ruby版本(>= 1.9.3
) )
如果您的HTTParty gem版本是旧的,您将收到带有未定义方法的错误消息,这里解决方案很明显,检查您拥有的版本并使用sudo gem uninstall httparty-gem
卸载它然后使用sudo gem install httparty-gem
安装新版本(sudo
是为了防止可能安装宝石的专家的未来错误,或者如果你想要你可以安装它并拥有宝石的那两个或更多版本。
尝试安装gem:
gem install httparty
您的代码似乎在Ruby 2.0.0中运行,但似乎为Ruby 2.2.3安装了gem。
确保通过rvm
或chruby
或您个人用来管理Ruby版本的任何内容正确选择Ruby版本,并确保为运行代码的相同版本安装了HTTParty。
删除代码require 'httparty'
,无论您添加了什么。
在我的情况下,我已经在我的班级上要求'httparty',但仍然给我一个错误。我尝试安装和卸载httparty gem没有任何进展。最后,我可以通过将gem 'httparty'
行添加到我的Gemfile文件,然后从命令提示符运行bundle install
来解决此问题。
我使用rails 5.2.3和ruby 2.5.1