Ruby Can';不要在计算机上使用创建的gem
我用下面的gemspec文件创建了一个gemRuby Can';不要在计算机上使用创建的gem,ruby,rubygems,gem,require,Ruby,Rubygems,Gem,Require,我用下面的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.descriptio
$:.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已成功安装,因此当我运行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>'
LoadError:无法加载这样的文件--SomeToken
来自/Users/jason/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site\u ruby/2.0.0/rubygems/core\u ext/kernel\u require.rb:51:in'require'
来自/Users/jason/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site\u ruby/2.0.0/rubygems/core\u ext/kernel\u require.rb:51:in'require'
来自(irb):1
from/Users/jason/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in`'
我尝试过改变管柱的套管,在许多组合中,但仍然得到相同的错误。我的gem出了什么问题,我如何修复它?试试
需要“一些令牌”
一般使用要求
require
采用ruby文件名,而不是gem文件名。例如,如果您具有以下目录结构
- foo.rb
- main.rb
然后在main.rb
中,您可以使用require'foo'
来使用foo.rb
中的内容
与gems一起使用require
请注意,gemspec的第一行有$:.push File.expand_path(“../lib”,u文件)
。这会将gem的lib
目录添加到搜索路径中。因此,如果你有
lib/
some_token.rb
然后你应该使用
要求“一些令牌”
我不知道Ruby 2.0.0是否有这个“bug”,但是一些Ruby版本必须有一个
require 'rubygems'
在你需要宝石之前
我想值得一试:)什么也做不了。不过谢谢你的建议。我的目录组织方式与文件路径不匹配。谢谢你的帮助。
require 'rubygems'