好的,正如@tim-moore 所问,我将在新问题中发布它。
好的,所以我想使用 bundle 制作 gem。Pry 扩展 gem 要求 gem 以pry-开头,如此处所述。我用了:
bundle gem pry-name
但它弄乱了我的文件结构
create pry-name/pry-name.gemspec
create pry-name/lib/pry/name.rb
create pry-name/lib/pry/name/version.rb
如您所见,它创建了lib/pry目录。我知道创建这样的结构是 gem 的风格,但现在我无法自动加载这个 gem
我的问题的一个解决方案是:
创建仅包含的 pry-name.rb
require 'pry/name'
完成此操作并构建 gem 后,我开始撬:出现此消息:
require 'pry-name' # Failed, saying: Pry is not a module
至于我的猜测:
我正在创建这样的命令:
Pry::Commands.create_command "name-of-command" do
# my code goes here
end
并且,因为 ruby 发现Pry::Commands.
它需要它来自lib目录而不是 Pry gem。
这个错误是什么意思。为什么它不起作用。如何让它工作记住 gem 和 pry 要求(pry gem 以开头,pry-
并且当有人使用时 gem 将创建另一个目录(ies)-
例如:gem pry-name
will make pry/name
)