2012-01-12 163 views
5

有时,即使安装了机架,我的rails应用程序也会报错(无需加载这样的文件 - 机架)。没有这样的文件加载 - rack

[Gemfile中] 宝石 '架', '1.2.1'

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

谢谢。

山姆

回答

4

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

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

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

+1

你非常正确。我使用DreamHost VPS。我的开发环境是RVM。另一个奇怪的是,即使我做'捆绑安装'我的轨道应用程序给了我“没有这样的文件加载 - 机架”。我必须手动执行'gem install rack -v 1.2.1'。这可能与我的“捆绑安装 - 部署”有关。不过,我不确定。 – 2012-01-12 18:17:30

+1

我没有使用Dreamhost VPS,而是使用DreamHost共享服务器。我认为VPS将比共享服务器更好。对于共享服务器,我所做的是将这些行添加到config.ru:ENV ['GEM_HOME'] =“#{ENV ['HOME']} /。gems” ENV ['GEM_PATH'] =“#{ENV [ 'GEM_HOME']}:/ usr/lib/ruby​​/gems/1.8“ require'rubygems' Gem.clear_paths 您可以尝试一下。它指定了宝石路径。 – Davidsun 2012-01-13 00:58:01

+0

是的。这解决了问题。谢谢。 – 2012-01-13 20:45:52

相关问题