2012-05-25 68 views
0

加載錯誤我建立我的寶石

$ gem build <gemspec> 

它得到了成功構建和我安裝成功的瑰寶。

但是當我做到以下幾點:

$ irb -rubygems 
irb(main):003:0 require 'xxxx' 

我得到以下錯誤:

LoadError: no such file to load -- xxxx 
from C:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in 'gem_original_require' 
from C:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in 'require' 

我在做什麼錯?

回答

0

你能發佈你的.gemspec文件嗎?

很有可能您沒有將文件包含在.files陣列中。例如,

Gem::Specification.new do |s| 
    # Other specifications 
    s.files  = ["bin/google", "lib/google.rb", "lib/google/utils.rb"] 
    s.files  += ["LICENSE.md", "README.md", "google.gemspec"] 
end 
+0

如果我在我的gemspec中有運行時依賴關係。我如何安裝該寶石。我仍然使用:$ gem install abc.gem? – Wasi

+0

運行時依賴關係是您的寶石運行時需要的其他寶石。如果您已經在gemspec中指定了它們,那麼當您安裝寶石時,將會照顧它們的安裝。但是,您的寶石需要包含您爲其編寫的文件。 '.files'數組是應該包含在你的gem中的文件的清單。它基本上告訴'gem build'命令「這些文件需要包含在gem中」,就像選擇將哪些文件壓縮成ZIP文件一樣。 – Kerrick