Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Require\u relative无法加载此文件版本_Ruby On Rails_Gem - Fatal编程技术网

Ruby on rails Require\u relative无法加载此文件版本

Ruby on rails Require\u relative无法加载此文件版本,ruby-on-rails,gem,Ruby On Rails,Gem,我正在尝试加载我最近创建的一个新gem,但还没有任何代码,因为当我尝试仅为测试加载时,出现了这个错误 我的代码: 我的宝石名是tracky tracky.gemspec 我的文件夹: http://postimg.org/image/ve7nlyja7/ 错误: irb(main):001:0> require_relative 'lib/tracky' LoadError: cannot load such file -- tracky/version from /home/m

我正在尝试加载我最近创建的一个新gem,但还没有任何代码,因为当我尝试仅为测试加载时,出现了这个错误

我的代码: 我的宝石名是tracky

tracky.gemspec

我的文件夹:

http://postimg.org/image/ve7nlyja7/
错误:

irb(main):001:0> require_relative 'lib/tracky'
LoadError: cannot load such file -- tracky/version
    from /home/matheus/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/matheus/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/matheus/Ruby/tracky/lib/tracky.rb:1:in `<top (required)>'
    from (irb):1:in `require_relative'
    from (irb):1
    from /home/matheus/.rbenv/versions/2.2.2/bin/irb:11:in `<main>'
irb(main):001:0>需要相对的“lib/tracky”
LoadError:无法加载这样的文件--tracky/version
from/home/matheus/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
from/home/matheus/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
from/home/matheus/Ruby/tracky/lib/tracky.rb:1:in`'
from(irb):1:in'require_relative'
来自(irb):1
from/home/matheus/.rbenv/versions/2.2.2/bin/irb:11:in`'

我在tracky的根目录中使用irb,在
lib/tracky.rb
文件中,将
require“tracky/version”
更改为
require\u relative“tracky/version”

这是因为版本文件是相对于
lib/tracky.rb
文件定位的。我建议您为gem依赖项保留
require

检查答案以了解
require
require\u relative
之间的差异


晚会迟到了,但我想这会对下一个人有所帮助。我在面对同样的问题时遇到了这个问题

您需要一个名为
tracky/version
的文件,但Ruby找不到它。那个文件在哪里?
irb(main):001:0> require_relative 'lib/tracky'
LoadError: cannot load such file -- tracky/version
    from /home/matheus/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/matheus/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/matheus/Ruby/tracky/lib/tracky.rb:1:in `<top (required)>'
    from (irb):1:in `require_relative'
    from (irb):1
    from /home/matheus/.rbenv/versions/2.2.2/bin/irb:11:in `<main>'