2013-11-02 43 views
1

如解釋here pry的插件需要pry-前綴。 我已經嘗試建設採用捆綁:建築撬插件(寶石)與打包機

bundle gem pry-name 

但它搞砸了目錄層次結構(創建2,而不是1目錄):

create pry-name/pry-name.gemspec 
    create pry-name/lib/pry/name.rb 
    create pry-name/lib/pry/name/version.rb 

在gemspec它使用錯誤的目錄結構:

require 'pry/name/version' 

並在同一個文件中運行這個git命令:

spec.files   = `git ls-files`.split($/) 

這給,和上面一樣,文件

的錯構有沒有辦法告訴打捆認識到「 - 」作爲有效的文件名字符不是「/」(目錄分隔符)?

回答

1

bundle gem根據RubyGems的約定命名的寶石,如在http://guides.rubygems.org/name-your-gem/

說明。此外,如果您在使用Bundler.require項目的Gemfilegem 'pry-name',它將使用約定有默認情況下,太作品,並嘗試require 'pry/name'

最好的解決方法是創建一個只包含require 'pry/name'lib/pry-name.rb文件。這使您的目錄結構與Rubygems & Bundler約定一致,允許require 'pry/name'工作,同時也允許require 'pry-name'工作。

+0

嗯,它不起作用。在將'pry-name.rb'添加到git('git add lib/pry-name.rb')和builded/installed gem後,pry在開始時顯示了這個:'require'pry-name'#失敗,說:Pry不是一個模塊「。我的猜測是,在我的代碼中,我使用了'Pry :: Commands.create_command',ruby假設'Pry'在'pry-name/lib/pry'目錄下,並且它不會從pry中加載'Pry'模塊寶石。 –

+0

您能否在新問題中發佈完整錯誤? –

+0

這是它:http://stackoverflow.com/questions/19889569/pry-is-not-a-module對不起,延遲。 –