背景:我曾经看过this questionthis one-可惜的是,这没有用。

错误消息(乘客):您已经激活了机架1.1.0,但是您的Gemfile需要机架1.2.1。考虑使用bundle exec。

我的Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.0.0.rc'
gem 'nifty-generators'
gem 'nokogiri'
group :after_initialize do
    gem 'feedzirra'
end


我的Gemfile.lock有这一行:

rack (1.2.1)


我的environment.rb在顶部有这行:

ENV['GEM_PATH'] = File.expand_path('~/.gems') + ':/usr/lib/ruby/gems/1.8'


我的boot.rb在顶部有这行:

Gem.clear_paths


我已经在本地正确安装了机架(1.2.1)-我的应用在我的本地主机上运行良好,并且在终端中显示了“宝石列表”,随后显示了1.2.1版本。

在将应用程序推送到生产服务器之前,我已经用“捆绑包”打包了我的宝石。

部署之前,我已经在生产服务器上从应用程序的根目录运行了以下命令:

bundle install --path vendor/bundle --local


按照上面的安装命令,“捆绑检查”将返回以下内容:

The Gemfile's dependencies are satisfied


这是乘客提供的回溯(以及上面提到的错误消息):

0   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/runtime.rb      27      in `setup'
1   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/spec_set.rb     12  in `each'
2   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/spec_set.rb     12  in `each'
3   /home/user/.gems/gems/bundler-1.0.0/lib/bundler/runtime.rb  17  in `setup'
4   /home/user/.gems/gems/bundler-1.0.0/lib/bundler.rb  100     in `setup'
5   /home/user/gseeds.mywebsite.com/releases/20100927012812/config/boot.rb  9
6   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
7   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
8   /home/user/gseeds.mywebsite.com/releases/20100927012812/config/application.rb   1
9   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
10  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
11  /home/user/gseeds.mywebsite.com/releases/20100927012812/config/environment.rb   7
12  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
13  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
14  config.ru   3
15  /usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb  46  in `instance_eval'
16  /usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb  46  in `initialize'
17  config.ru   1   in `new'
18  config.ru   1


我想知道是否有人提出了解决方案?

应该注意的是,示例Rails应用程序-又名,运行Rails新的appName并将其直接ftp'到DreamHost上的生产服务器上将正常运行。因为我想象我的真实应用程序和示例应用程序都具有机架(1.2.1)依赖性,这使我感到困扰。这对我而言意味着,为了绕开DreamHost服务器的精髓,我在某种程度上搞砸了我真实应用中机架的实现。

我有我的示例Rails应用程序在DreamHost上的单独子域上运行,而我尝试部署的两个真实应用程序的子域都收到此错误。

另外,我最初尝试采用供应商/缓存方法在我的DreamHost用户目录中本地安装gems。也许这不影响任何事情。

感谢您因这个冗长的问题而遭受的痛苦

最佳答案

向Dreamhost投诉,并告诉他们升级Phusion Passenger。现在,针对多个版本的Phusion Passenger已解决了该问题。

08-25 19:08