Я пытаюсь установить Snorby на машину CentOS 6.6 и постоянно получаю проблему с ruby и моим Gemfile. Я думаю, что мне нужно либо отредактировать мой Gemfile, либо это как-то связано с путем установки. Любая помощь будет оценена по достоинству.
bundle exec rake snorby:setup
Сообщение об ошибке
Gemspec в /var/www/html/snorby/vendor/bundle/ruby/1.9.1/bundler/gems/snorby_cas_authenticatable-/devise_cas_authenticatable.gemspec
недействительном состоянии. Ошибка проверки была
duplicate dependency on devise (>= 1.0.6), (>= 0) use:
add_runtime_dependency 'devise', '>= 1.0.6', '>= 0'
решение1
Мне удалось заставить это работать, добавив зависимость 1.0.6 в файл gemspec devise_case_authenticable /usr/local/rvm/gems/ruby-1.9.3-p551/bundler/gems/snorby_cas_authenticatable-281a58b36368/devise_cas_authenticatable.gemspec:
if s.respond_to? :specification_version then
s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<devise>, [">= 0"])
s.add_development_dependency(%q<ruby-debug>, [">= 0"])
s.add_development_dependency(%q<jeweler>, [">= 0"])
**s.add_runtime_dependency(%q<devise>, [">= 1.0.6"])**
s.add_runtime_dependency(%q<rubycas-client>, [">= 2.2.1"])
else
s.add_dependency(%q<devise>, [">= 0"])
s.add_dependency(%q<ruby-debug>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
**s.add_dependency(%q<devise>, [">= 1.0.6"])**
s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
end
else
s.add_dependency(%q<devise>, [">= 0"])
s.add_dependency(%q<ruby-debug>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
**s.add_dependency(%q<devise>, [">= 1.0.6"])**
s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
end
end
а затем изменение
gem 'devise_cas_authenticatable', :git => 'https://github.com/Snorby/snorby_cas_authenticatable.git'
в файле gemfile Snorby в корневом каталоге www snorby
gem 'devise_cas_authenticatable'
Я предполагаю, что это сработает только после того, как произойдет один сбой, и тогда будет установлен гем devise_cas_authenticable.
решение2
Мне это не помогло, вместо этого я перешел к файлу, который вы упомянули:
/usr/local/rvm/gems/ruby-1.9.3-p551/bundler/gems/snorby_cas_authenticatable-281a58b36368/devise_cas_authenticatable.gemspec
Но вот я прокомментировал эти три строки:
if s.respond_to? :specification_version then
s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
#####s.add_runtime_dependency(%q<devise>, [">= 0"])
s.add_development_dependency(%q<ruby-debug>, [">= 0"])
s.add_development_dependency(%q<jeweler>, [">= 0"])
s.add_runtime_dependency(%q<devise>, [">= 1.0.6"])
s.add_runtime_dependency(%q<rubycas-client>, [">= 2.2.1"])
else
#####s.add_dependency(%q<devise>, [">= 0"])
s.add_dependency(%q<ruby-debug>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
s.add_dependency(%q<devise>, [">= 1.0.6"])
s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
end
else
#####s.add_dependency(%q<devise>, [">= 0"])
s.add_dependency(%q<ruby-debug>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
s.add_dependency(%q<devise>, [">= 1.0.6"])
s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
end
end
После этого работало хорошо.