Ruby on rails 没有这样的文件要加载--rack

Ruby on rails 没有这样的文件要加载--rack,ruby-on-rails,gem,rack,Ruby On Rails,Gem,Rack,有时,即使安装了rack,我的rails应用程序也会给出一个错误(没有要加载的文件--rack) [档案] gem“机架”,“1.2.1” 如果我刷新页面,它将正常加载。 所以这不是创业板的问题。 什么会导致错误 谢谢 Sam我认为如果你在本地创建网站,这不会发生。那你用的是什么服务?我在DreamHost上遇到过这种bug 对于DreamHost,问题是他们使用不同版本(较旧)的机架,这与最新版本的Rails不兼容。尝试在GEM文件中指定机架版本(在大多数情况下,还必须降级Rails)。这可能

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

[档案] gem“机架”,“1.2.1”

如果我刷新页面,它将正常加载。 所以这不是创业板的问题。 什么会导致错误

谢谢


Sam

我认为如果你在本地创建网站,这不会发生。那你用的是什么服务?我在DreamHost上遇到过这种bug

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


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

你说得很对。我使用DreamHost VPS。我的开发环境是RVM。另一件奇怪的事情是,即使我“捆绑安装”,我的rails应用程序也会告诉我“没有这样的文件要加载-机架”。我必须手动执行“gem安装机架-v1.2.1”。它可能与我的“bundle安装--部署”有关。不过我不确定。我没有使用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\u路径,您可以尝试一下。它指定Gem路径。是。这解决了问题。谢谢