解决Dreamhost和Rails 3 rc的机架问题

kgp*_*per 2 ruby-on-rails-3

我的environment.rb包含:

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

我的gemfile包含:

source 'http://rubygems.org'
source :gemcutter

gem 'rails', '3.0.0.rc'


gem 'mysql'
gem 'haml'
gem 'RedCloth'
gem "friendly_id", "~> 3.0"
gem 'agnostic-will_paginate', "~> 3.0.0"


# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
#gem 'capistrano'


# To use debugger
# gem 'ruby-debug'

# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri', '1.4.1'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'
Run Code Online (Sandbox Code Playgroud)

在dreamhost上部署Rails 3应用程序后出现的错误是:

您已经激活了机架1.1.0,但您的Gemfile需要机架1.2.1.考虑使用bundle exec.

   /home/dreamhostuser/.gems/gems/bundler-1.0.0.rc.1/lib/bundler/runtime.rb     27      in `setup'
1   /home/dreamhostuser/.gems/gems/bundler-1.0.0.rc.1/lib/bundler/spec_set.rb   12  in `each'
2   /home/dreamhostuser/.gems/gems/bundler-1.0.0.rc.1/lib/bundler/spec_set.rb   12  in `each'
3   /home/dreamhostuser/.gems/gems/bundler-1.0.0.rc.1/lib/bundler/runtime.rb    17  in `setup'
4   /home/dreamhostuser/.gems/gems/bundler-1.0.0.rc.1/lib/bundler.rb    97  in `setup'
5   /home/dreamhostuser/domain.net/releases/20100728144817/config/boot.rb   5   
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/dreamhostuser/domain.net/releases/20100728144817/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/dreamhostuser/domain.net/releases/20100728144817/config/environment.rb    4   
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
Run Code Online (Sandbox Code Playgroud)

其他说明:Rails 3 beta 4正在运行.

现在恢复到beta 4版本.很高兴知道如何解决Rails 3的这个问题.Dreamhost可以用于暂存应用程序.

小智 5

我在Dreamhost上的共享帐户上遇到了同样的问题,我能够这样做:

在我的本地机器上:

bundle package
Run Code Online (Sandbox Code Playgroud)

在Dreamhost上:

bundle install --path vendor/bundle --local
Run Code Online (Sandbox Code Playgroud)

而且效果很好.