Ho una gemma personalizzata e sto incontrando un LoadError davvero strano quando lo installo come un gioiello e cerco di richiederlo in irb.Weird LoadError su rubino personalizzato gemma
Tutto funziona correttamente con i miei test rspec all'interno della cartella del progetto. Questo si verifica solo quando lo si utilizza come una vera gemma in irb.
Il file che genera un'eccezione LoadError a (/lib/mws/api/order_response.rb
) esiste effettivamente. Ho provato a rinominare il file e ad aggiornare il file che lo richiede (/lib/mws.rb
). Ho provato a ricreare il file pensando che forse ci fosse un problema con le autorizzazioni. Niente funziona.
Se commento la riga richiesta per quel file specifico, tutto funziona. Non c'è niente di speciale nel file. Ci sono altri 4 file quasi identici (*_response.rb
).
Mi sento come se stessi prendendo pillole pazze. Devo trascurare qualcosa ma di sicuro non lo vedo.
Trace:
[email protected]:~$ 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>'
file con la richiede (/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, access_key, 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
File sto richiedendo (/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
E la mia struttura dei file
Questa è stata praticamente la risposta, ma ho spiegato perché di seguito: http://stackoverflow.com/questions/11499140/weird-loaderror-on-custom-ruby-gem/11820819#11820819 –