自定义ruby gem上的奇怪LoadError
发布时间:2020-12-17 03:22:05 所属栏目:百科 来源:网络整理
导读:我有一个自定义宝石,当我将它作为一个宝石安装并尝试在irb中需要它时遇到一个非常奇怪的LoadError. 使用项目文件夹中的rspec测试,一切正常.这仅在将其用作irb中的实际gem时发生. 它在(/lib/mws/api/order_response.rb)抛出LoadError异常的文件确实存在.我已
我有一个自定义宝石,当我将它作为一个宝石安装并尝试在irb中需要它时遇到一个非常奇怪的LoadError.
使用项目文件夹中的rspec测试,一切正常.这仅在将其用作irb中的实际gem时发生. 它在(/lib/mws/api/order_response.rb)抛出LoadError异常的文件确实存在.我已经尝试重命名文件并更新需要它的文件(/lib/mws.rb).我尝试重新创建文件,认为可能存在权限问题.什么都行不通. 如果我注释掉该特定文件的require行,一切正常.这个文件没什么特别的.其他4个文件几乎与它相同(* _response.rb). 我觉得我正在服用疯狂的药片.我必须忽略一些东西,但我肯定不会看到它. 跟踪: chris@Samus:~$irb 1.9.3p194 :001 > require 'mws' LoadError: cannot load such file -- mws/api/order_response from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from /Users/chris/.rvm/gems/ruby-1.9.3-p194/gems/mws-0.1.18/lib/mws.rb:14:in `<top (required)>' from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require' from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require' from (irb):1 from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>' 带有要求的文件(/lib/mws.rb) require 'mws/base' require 'mws/connection' require 'mws/utility' require 'mws/api/seller' require 'mws/api/product' require 'mws/api/order' require 'mws/api/report' require 'mws/api/general_response' require 'mws/api/product_response' require 'mws/api/report_response' require 'mws/api/seller_response' require 'mws/api/order_response' # <--- the offending line module MWS # @see Base#initialize MWS::Base for instantiation details. # @return [Base] returns MWS::Base object. def self.new(merchant_id,access_key,secret_key) MWS::Base.new(merchant_id,secret_key) end end # The below is for documentation generation purposes. # MWS is a wrapper for the Amazon Marketplace Web Service (MWS) API. module MWS # API handles all the Amazon MWS API specific stuff. module API end # Utilities contains various functions needed throughout MWS. Utilities is a mixin to multiple classes. module Utilities end end 我需要的文件(/lib/mws/api/order_response.rb): module MWS module API # Class for parsing Amazon's XML responses into managable objects. class OrderResponse # Include GeneralResponse instance methods as class methods extend GeneralResponse end end end 和我的文件结构 解决方法
如果文件位于那里(并且没有晦涩的权限),可以检入/Users/chris/.rvm/gems/ruby-1.9.3-p194/gems/mws-0.1.18/lib/mws/api.
如果不是这样,您可能忘了在gemspec中添加它. 如果它在那里,请尝试使用绝对路径要求/加载它(用于调试目的). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |