生产模式中的Rails 3(apache和thin)找不到rubygems

时间:2011-02-01 18:34:07

标签: ruby-on-rails apache rvm thin

如果这个问题重复,我提前道歉,但我已经做了很多搜索,但我没有找到任何有助于解决我的问题的答案。我正在Ubuntu服务器上运行Rails 3应用程序,Apache代理要瘦。我可以运行瘦或WebBrick的单个实例,并且我的应用程序在端口3000上加载。我使用Slicehost中的指令来说明如何使用Apache和Thin来提供Rails(我过去曾经工作过),但每当我尝试要启动守护进程的精简进程,每个瘦服务器的日志如下所示:

/[ my application's location]/config/boot.rb:2:in `require': no such file to load -- rubygems (LoadError)
        from /home/geoff/ldb/doubleday/config/boot.rb:2
        from /home/geoff/ldb/doubleday/config/application.rb:1:in `require'
        from /home/geoff/ldb/doubleday/config/application.rb:1
        from /home/geoff/ldb/doubleday/config/environment.rb:2:in `require'
        from /home/geoff/ldb/doubleday/config/environment.rb:2
        from /usr/lib/ruby/1.8/rack/adapter/rails.rb:43:in `require'
        from /usr/lib/ruby/1.8/rack/adapter/rails.rb:43:in `load_application'
        from /usr/lib/ruby/1.8/rack/adapter/rails.rb:23:in `initialize'
        from /usr/lib/ruby/1.8/rack/adapter/loader.rb:36:in `new'
        from /usr/lib/ruby/1.8/rack/adapter/loader.rb:36:in `for'
        from /usr/lib/ruby/1.8/thin/controllers/controller.rb:163:in `load_adapter'
        from /usr/lib/ruby/1.8/thin/controllers/controller.rb:67:in `start'
        from /usr/lib/ruby/1.8/thin/runner.rb:174:in `send'
        from /usr/lib/ruby/1.8/thin/runner.rb:174:in `run_command'
        from /usr/lib/ruby/1.8/thin/runner.rb:140:in `run!'
        from /usr/bin/thin1.8:6

我正在运行Ruby 1.9.2,RubyGems 1.5.0和RVM。我可以作为root,我自己或www-data在shell中作为非守护进程启动rails应用程序。似乎每当我尝试将其作为守护进程运行时,它都不会正确加载路径。我已经尝试将环境变量插入到一些文件中以帮助rails找到Rubygems,但这似乎不起作用。关于如何帮助Rails在守护进程启动时找到Rubygems的任何想法?

谢谢, 杰夫

1 个答案:

答案 0 :(得分:0)

这看起来像是一个RVM错误。您应该检查如何加载瘦服务器,它需要使用RVM包装器或类似的东西来配置正确的二进制文件和gemsets。