無法啟動 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__cas_authenticatable-281a58b36368/devise_cas__cas_authenticatable-281a58b36368/devise_cas_authentica

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 gemfile 中的 snorby www 根目錄中

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

但在這裡我評論了這三行:

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

後來工作得很好。

相關內容