来自Bundler的新鲜Ruby gem-无法加载我的version.rb文件?

来自Bundler的新鲜Ruby gem-无法加载我的version.rb文件?,ruby,rubygems,gem,Ruby,Rubygems,Gem,我想制作一个全新的Ruby应用程序,所以我决定使用bundle gem foo来实现。这给了我全部: lib/ foo/ version.rb foo.rb Gemfile Rakefile foo.gemspec README.md 结构。现在,当我运行ruby foo.rb时,我得到: `require': cannot load such file -- foo/version (LoadError) foo.rb只是默认值: require 'foo/version'

我想制作一个全新的Ruby应用程序,所以我决定使用
bundle gem foo
来实现。这给了我全部:

lib/
  foo/
    version.rb
  foo.rb
Gemfile
Rakefile
foo.gemspec
README.md
结构。现在,当我运行ruby foo.rb时,我得到:

`require': cannot load such file -- foo/version (LoadError)
foo.rb只是默认值:

require 'foo/version'

module Foo
end

宝石不能自己运行吗?我希望我不必为了测试而将我的gem包含到示例应用程序中?

您从哪个目录运行它?我会检查您的$LOAD_路径,并确保其中包含lib

您需要运行
bundle exec ruby foo.rb
才能使用绑定的gems

或者,您可以将
foo.rb
本身修改为假定绑定器。放

require 'bundler/setup'

在顶部。

似乎与我从哪个目录运行它无关。另外,gemspec不包括$LOAD_路径吗?gemspec通常会将lib文件夹
unshift
放入其中,但是如果您想运行任何代码,您必须自己添加lib文件夹。一些gems/util(想不出一个好名字)比如RSpec将为您的加载路径添加lib和spec。