'<module:Templates>':未初始化的常量Tilt :: CompileSite(NameError)使用Sinatra / Unicorn

我是Ruby世界的新手。 我使用Sinatra创build了我的第一个应用程序,在生产服务器上遇到了一些麻烦。

当我在本地机器上运行unicorn -c randmovie_unicorn.rb时,它工作得很好。 但在生产中,我得到这个错误:

 <module:Templates>': uninitialized constant Tilt::CompileSite (NameError) 

在我的randmovie_unicorn.rb文件中:

 preload_app true working_directory "./" listen 8006 worker_processes 2 timeout 30 

我没有使用HAML或类似的东西。

有人可以帮我吗? 谢谢!

我认为这是倾斜2.0.0或sinatra的错误。 在您的Gemfile中指定倾斜版本:

 gem 'tilt', '~> 1.4.1' 

我有一个类似的问题。

确保你没有安装倾斜2.0.0,并且你有一个sinatra支持的倾斜版本。 出于某种原因,bundler不能正确地尊重sinatra的依赖关系,所以你必须明确地指定它们。

最新版本的sinatra(本文写作1.4.4)的当前倾斜依赖性是

 gem 'tilt', '>= 1.3.4', '~> 1.3'