【问题标题】:no such file to load -- rack没有要加载的文件——机架
【发布时间】:2012-02-08 10:36:48
【问题描述】:

有时,即使安装了 rack,我的 rails 应用程序也会出错(没有要加载的此类文件 -- rack)。

[宝石文件] 宝石'机架','1.2.1'

如果我刷新页面,它会正常加载。 所以这不是宝石问题。 什么可能导致错误?

谢谢。

山姆

【问题讨论】:

    标签: ruby-on-rails gem rack


    【解决方案1】:

    我认为如果您在本地启动您的网站,则不会发生这种情况。那你用的是什么服务?我在 DreamHost 上遇到过这种错误。

    对于 DreamHost,问题是他们使用不同版本(旧)的 Rack,与最新版本的 Rails 不兼容。尝试在 Gemfile 中指定 Rack 版本(在大多数情况下,您还必须降级 Rails)。它可能会有所帮助。

    另一个可能的原因是您在本地计算机上使用 RVM,但对于服务器,例如,Passenger + Nginx/Apache,RVM 可能无法正常工作(实际上,我使用Passenger + RVM 总是出错)。指定您的 Gem 目录可能会有所帮助。

    【讨论】:

    • 你说的很对。我使用 DreamHost VPS。我的开发环境是 RVM。另一个奇怪的事情是,即使我“捆绑安装”,我的 rails 应用程序也会给我“没有这样的文件要加载 - 机架”。我必须手动执行“gem install rack -v 1.2.1”。它可能与我的“bundle install --deployment”有关。不过我不确定。
    • 我用的不是 Dreamhost VPS,而是 DreamHost 共享服务器。我认为 VPS 会比共享服务器好得多。对于共享服务器,我所做的是将这些行添加到 config.ru: ENV['GEM_HOME']="#{ENV['HOME']}/.gems" ENV['GEM_PATH']="#{ENV[' GEM_HOME']}:/usr/lib/ruby/gems/1.8" 需要'rubygems' Gem.clear_paths 你可以试试。它指定了 Gem 路径。
    • 是的。这解决了问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-12-08
    • 2011-04-08
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多