1

正如这里所解释的,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($/)

与上述相同,这给出了错误的文件结构

有没有办法告诉捆绑器将“-”识别为有效的文件名字符而不是“/”(目录分隔符)?

4

1 回答 1

1

bundle gem按照http://guides.rubygems.org/name-your-gem/中所述的 Rubygems 命名宝石约定工作

请注意,如果您gem 'pry-name'在使用Gemfile的项目中包含Bundler.require,默认情况下它也会使用那里的约定,并尝试使用require 'pry/name'.

最好的解决方法是创建一个lib/pry-name.rb仅包含require 'pry/name'. 这使您的目录结构与 Rubygems & Bundler 约定保持一致,允许require 'pry/name'工作,同时也允许require 'pry-name'工作。

于 2013-11-05T05:45:08.427 回答