1

Rails 应用程序在本地运行良好,但在远程服务器上出现此错误:

你已经激活了 rack 1.4.1,但是你的 Gemfile 需要 rack 1.4.4。使用 bundle exec 可以解决这个问题。

我已经bundle update-ed 好几次了。

我的 Gemfile.lock 有这些行(...为了清楚起见,表示删除的行):

...
actionpack (3.2.11)
  ...
  rack (~> 1.4.0)
...
rack (1.4.4)
...

宝石文件:

source 'http://rubygems.org'

gem 'rails', '3.2.11'
gem "haml"
gem 'execjs'
gem "rest-client"
gem "stripe"

group :assets do
  gem 'sass-rails', "~> 3.2.4"
  gem 'coffee-rails'
  gem 'uglifier'
  gem 'compass-rails'
  # Deploy with Capistrano
  gem 'capistrano'
  gem 'rvm-capistrano'
end

gem 'jquery-rails'
gem 'jquery-ui-rails'

group :production do
  gem 'libv8'
  gem 'therubyracer', "~> 0.10.2"
  gem "newrelic_rpm"
  gem 'exception_notification', git: 'git://github.com/alanjds/exception_notification.git', :require => 'exception_notifier'
end

gem 'sqlite3' # This has to be active in both modes

group :development do
  gem "thin"
end

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
end
4

1 回答 1

4

得到它的工作,所以我会在这里发布它。这是我必须做的:

  1. 在本地运行gem uninstall rack并删除所有 rack 实例
  2. 添加gem "rack", "1.4.1"到我的 Gemfile(注意这是它说它已经加载的那个)
  3. bundle update在本地运行
  4. 部署

现在它起作用了!

于 2013-01-16T23:54:11.883 回答