我只是安装倾斜:
gem list
tilt (1.2.2)
ruby -v
ruby 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
我只是尝试https://github.com/rtomayko/tilt
中的基本示例tilt.rb
require 'rubygems'
require 'haml'
require 'tilt'
template = Tilt::HamlTemplate.new('haml/about.haml')
它抛出:
./tilt.rb:4: uninitialized constant Tilt (NameError)
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `require'
from tilt.rb:3
有什么想法吗? 谢谢!
答案 0 :(得分:3)
您已将应用程序文件命名为tilt.rb
,因此当您调用require 'tilt'
时,文件会尝试自行处理。您的文件未定义Tilt
,因此您会收到错误。
错误实际发生在需要文件时。它不属于递归循环,因为require
会跟踪已经需要的文件,并且不会尝试重新加载它们。
将您的文件重命名为tilt.rb
之外的其他内容,例如tilt-test.rb
,并且不要将原始文件保留在同一目录中,它应该可以正常工作。
顺便说一下,这在Ruby 1.9中不会发生,因为默认情况下当前目录不在加载路径上。