Unicorn не устраивает моя версия для стойки?

Я уже несколько недель повторяю этот урок: https://www.digitalocean.com/community/articles/how-to-1-click-install-ruby-on-rails-on-ubuntu-12-10-with-digitalocean

Вот особенности моего проекта: я использую Mongoid с производственным набором database.yml для моей проверенной и работающей капли (DigitalOcean VPS), на которой работает MongoDB.

Мой файл драгоценных камней здесь, я новичок в Rails и не совсем уверен, правильно ли он настроен, поэтому я просто переместил их все в активы, надеясь, что Unicorn может служить мне этими драгоценными камнями?

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 в 1 клик. Затем я использовал 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. Перезапуск службы единорога с пакетом exec перед ним. Ошибка остается той же.

Раньше у меня было много разных ошибок, но я чувствую, что это самое близкое, что я получил. Если бы кто-нибудь мог объяснить это мне (я новичок в Rails и хотел бы подробного объяснения) и, возможно, помочь мне исправить ошибку, это было бы фантастически и положило бы конец этому разочарованию.


person njny    schedule 01.01.2014    source источник


Ответы (3)


Просто дикая догадка

gem "rack", "~> 1.4.5" 

Может работать на вас, тогда, конечно, bundle install потом.

person ParaPenguin    schedule 01.01.2014
comment
Здравствуйте, только что попробовал. В результате та же ошибка. Я попытался изменить его на версию, которую хочет среда, 1.5.2, однако пакет заблокирован на 1.4.5. Это результат попытки связать стойку обновления: rails (= 3.2.14) ruby ​​зависит от стойки (~› 1.4.5) ruby - person njny; 01.01.2014
comment
Установка с помощью командной строки и удаление проблемной версии (1.5.2) сработали! - person njny; 01.01.2014
comment
@user2752843: чувак, ты моя жизнь, Савио. удаление проблемной версии (1.5.2) сработало! - person rony36; 04.05.2014

Это решает проблему:

gem uninstall rack -v 1.5.2
person Furkan Ayhan    schedule 15.09.2014

Возможно, перезагрузите установку Ubuntu с панели управления DigitalOcean, а затем попробуйте установить Ruby on Rails с помощью Apache и Passenger?

Установить RoR

Установить Passenger (перейти к установке Passenger)

У вас будут ошибки при первом создании вашего сайта с помощью rails new, так как он попытается использовать SQL, когда он не будет установлен, если вы хотите использовать MongoDB.

person ParaPenguin    schedule 01.01.2014