0

我使用以下 gemspec 文件创建了一个 gem。

$:.push File.expand_path("../lib", __FILE__)

Gem::Specification.new do |s|
  s.name        = 'SomeToken'
  s.version     = '0.0.0'
  s.date        = '2013-08-04'
  s.summary     = "A gem for use with SomeToken."
  s.description = "A gem for use with SomeToken."
  s.authors     = ["Jason Tanner"]
  s.email       = 'jasontanner328@gmail.com'
  s.files       = Dir.glob '**/*'
  s.homepage    = ''
  s.license     = ''
end

然后在我的终端中我运行

gem build sometoken.gemspec

然后,

gem install ./SomeToken-0.0.0.gem

gem 已成功安装,所以当我运行 irb 并运行...

require 'SomeToken'

哪个响应错误

LoadError: cannot load such file -- SomeToken
    from /Users/jason/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
    from /Users/jason/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
    from (irb):1
    from /Users/jason/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in `<main>'

我尝试以多种组合更改字符串的大小写,但仍然出现相同的错误。我的宝石有什么问题,我该如何解决?

4

2 回答 2

1

试试require 'some_token'

一般使用 require

require采用 ruby​​ 文件的名称,而不是 gem 的名称。例如,如果您有以下目录结构

- foo.rb
- main.rb

然后在main.rb,你可以使用require 'foo'to 使用的东西从foo.rb.

将 require 与 gem 一起使用

请注意,gemspec 的第一行有$:.push File.expand_path("../lib", __FILE__). 这会将lib您的 gem 的目录添加到搜索路径中。因此,如果你有

lib/
  some_token.rb

那么你应该使用require 'some_token'.

于 2013-08-10T22:39:21.943 回答
0

我不知道 Ruby 2.0.0 是否有这个“错误”,但某些 Ruby 版本必须有

require 'rubygems'

在您需要任何宝石之前。

猜猜这值得一试:)

于 2013-08-10T22:39:23.803 回答