Snorby の起動の問題 / Ruby の依存関係の問題

Snorby の起動の問題 / Ruby の依存関係の問題

CentOS 6.6 マシンに Snorby をインストールしようとしているのですが、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

私は、devise_case_authenticable gemspec ファイル /usr/local/rvm/gems/ruby-1.9.3-p551/bundler/gems/snorby_cas_authenticatable-281a58b36368/devise_cas_authenticatable.gemspec に 1.0.6 依存関係を追加することで動作させました。

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'

SnorbyのwwwルートにあるSnorby gemfileに

gem 'devise_cas_authenticatable'

私の推測では、これは一度失敗した後にのみ機能し、devise_cas_authenticable gemがインストールされます。

答え2

それはうまくいきませんでした。代わりに、あなたが言及したファイルにアクセスしました:

/usr/local/rvm/gems/ruby-1.9.3-p551/bundler/gems/snorby_cas_authenticatable-281a58b36368/devise_cas_authenticatable.gemspec

しかし、ここで私は次の 3 行をコメントしました。

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

その後はうまくいきました。

関連情報