【问题标题】:Unicorn not happy with my rack version?独角兽对我的机架版本不满意?
【发布时间】:2014-01-01 03:16:22
【问题描述】:

我已经重复这个教程好几个星期了: https://www.digitalocean.com/community/articles/how-to-1-click-install-ruby-on-rails-on-ubuntu-12-10-with-digitalocean

以下是我的项目的具体情况: 我正在将 Mongoid 与 database.yml 生产集一起用于运行 MongoDB 的经过测试和工作的 Droplet (DigitalOcean VPS)。

我的 gem 文件在这里,我是 Rails 新手,不太确定它是否设置正确,所以我只是将它们全部移动到资产中,希望 Unicorn 可以为我提供这些 gem?

source 'https://rubygems.org'

gem 'rails', '3.2.14'


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  gem "therubyracer"
  gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
  gem "twitter-bootstrap-rails"
  gem 'redcarpet', '1.17.2'
  gem 'uglifier', '>= 1.0.3'


        gem "will_paginate_mongoid"
        gem 'will_paginate', '~> 3.0.5'
        gem 'will_paginate-bootstrap'

        gem 'devise'

        gem 'jquery-rails'



        gem "mongoid", "~> 3.0.0"
end

这是我所做的: 我使用了 DigitalOcean 的一键安装程序。然后我使用 FileZilla 将 SFTP 导入到他们提供给我的凭据中。我删除了 /home/rails 中的所有文件,并将我的新文件从我的项目中放入。然后我执行了捆绑安装,并重新启动了独角兽服务。在我看到的教程中,我可以跟踪独角兽的日志,所以我执行了这个:tail -f /home/unicorn/log/unicorn.log

这是我关心的输出:

/usr/local/rvm/gems/ruby-2.0.0-p353/gems/bundler-1.3.5/lib/bundler/runtime.rb:33:in `block in setup': You have already activated rack 1.5.2, but your Gemfile requires rack 1.4.5. Using bundle exec may solve this. (Gem::LoadError)

我看到了一些其他的解决方案,都失败了。以下是我尝试过的解决方案: 删除我的 Gemfile.lock,然后重新捆绑安装它。进入文件并删除它所说的机架。运行捆绑安装 --binstubs。使用 bundle exec 重新启动 unicorn 服务。错误依旧。

我之前遇到过很多不同的错误,但我觉得这是我得到的最接近的错误。如果有人可以向我解释这一点(我是 Rails 新手,希望得到详尽的解释)并可能帮助我修复错误,这将是非常棒的并结束这种挫败感。

【问题讨论】:

    标签: ruby-on-rails deployment mongoid unicorn digital-ocean


    【解决方案1】:

    只是猜测

    gem "rack", "~> 1.4.5" 
    

    可能对你有用,然后当然是bundle install

    【讨论】:

    • 你好,刚试过这个。结果是同样的错误。我尝试将其更改为环境所需的版本 1.5.2,但是捆绑包被锁定为 1.4.5。这是尝试捆绑更新 rack 的结果:rails (= 3.2.14) ruby​​ 依赖 rack (~> 1.4.5) ruby​​
    • 用命令行安装,卸载有问题的版本(1.5.2)工作!
    • @user2752843:伙计,你是我的人生救星。 卸载有问题的版本 (1.5.2) 成功!
    【解决方案2】:

    这样就解决了问题:

    gem uninstall rack -v 1.5.2
    

    【讨论】:

      【解决方案3】:

      可能从 DigitalOcean 控制面板重新加载您的 Ubuntu 安装,然后尝试使用 Apache 和 Passenger 安装 Ruby on Rails?

      Install RoR

      Install Passenger (skip to passenger installation)

      第一次使用rails new 创建站点时会出错,因为如果您希望使用 MongoDB,它将尝试在未安装时使用 SQL

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-19
        • 1970-01-01
        • 1970-01-01
        • 2013-04-12
        • 2014-01-15
        • 2012-01-05
        • 2014-11-09
        相关资源
        最近更新 更多